@aspan-corporation/ac-shared 1.0.28 → 1.0.30
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/lib/index.js +22 -3
- package/lib/index.js.map +2 -2
- package/lib/utils/thumbsKey.d.ts +9 -1
- package/package.json +1 -1
package/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../node_modules/@smithy/util-uri-escape/dist-cjs/index.js", "../node_modules/@smithy/querystring-builder/dist-cjs/index.js", "../node_modules/@aws-sdk/util-format-url/dist-cjs/index.js", "../node_modules/@smithy/property-provider/dist-cjs/index.js", "../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js", "../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js", "../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js", "../node_modules/@smithy/types/dist-cjs/index.js", "../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js", "../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js", "../node_modules/@smithy/node-config-provider/dist-cjs/index.js", "../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js", "../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js", "../node_modules/@smithy/querystring-parser/dist-cjs/index.js", "../node_modules/@smithy/url-parser/dist-cjs/index.js", "../node_modules/@smithy/core/dist-es/getSmithyContext.js", "../node_modules/@smithy/util-middleware/dist-cjs/index.js", "../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/resolveAuthOptions.js", "../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js", "../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js", "../node_modules/@smithy/protocol-http/dist-cjs/index.js", "../node_modules/@smithy/middleware-serde/dist-cjs/index.js", "../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js", "../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js", "../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js", "../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js", "../node_modules/@smithy/core/dist-es/middleware-http-signing/index.js", "../node_modules/@smithy/core/dist-es/normalizeProvider.js", "../node_modules/@smithy/core/dist-es/pagination/createPaginator.js", "../node_modules/@smithy/is-array-buffer/dist-cjs/index.js", "../node_modules/@smithy/util-buffer-from/dist-cjs/index.js", "../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js", "../node_modules/@smithy/util-utf8/dist-cjs/index.js", "../node_modules/@smithy/util-base64/dist-cjs/toBase64.js", "../node_modules/@smithy/util-base64/dist-cjs/index.js", "../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js", "../node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js", "../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js", "../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js", "../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js", "../node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js", "../node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js", "../node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js", "../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js", "../node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js", "../node_modules/@smithy/util-stream/dist-cjs/headStream.js", "../node_modules/@smithy/node-http-handler/dist-cjs/index.js", "../node_modules/@smithy/fetch-http-handler/dist-cjs/index.js", "../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js", "../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js", "../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js", "../node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js", "../node_modules/@smithy/util-stream/dist-cjs/splitStream.js", "../node_modules/@smithy/util-stream/dist-cjs/index.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js", "../node_modules/@smithy/core/dist-es/submodules/schema/deref.js", "../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js", "../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js", "../node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js", "../node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js", "../node_modules/@smithy/core/dist-es/submodules/schema/index.js", "../node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js", "../node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js", "../node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js", "../node_modules/uuid/dist/esm-node/rng.js", "../node_modules/uuid/dist/esm-node/stringify.js", "../node_modules/uuid/dist/esm-node/native.js", "../node_modules/uuid/dist/esm-node/v4.js", "../node_modules/uuid/dist/esm-node/index.js", "../node_modules/@smithy/core/dist-es/submodules/serde/generateIdempotencyToken.js", "../node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js", "../node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js", "../node_modules/@smithy/core/dist-es/submodules/serde/split-every.js", "../node_modules/@smithy/core/dist-es/submodules/serde/split-header.js", "../node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js", "../node_modules/@smithy/core/dist-es/submodules/serde/index.js", "../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js", "../node_modules/@smithy/core/dist-es/submodules/event-streams/index.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js", "../node_modules/@smithy/core/dist-es/submodules/protocols/index.js", "../node_modules/@smithy/core/dist-es/protocols/requestBuilder.js", "../node_modules/@smithy/core/dist-es/setFeature.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js", "../node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js", "../node_modules/@smithy/core/dist-es/index.js", "../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js", "../node_modules/@smithy/middleware-stack/dist-cjs/index.js", "../node_modules/@smithy/smithy-client/dist-cjs/index.js", "../node_modules/@smithy/signature-v4/dist-cjs/index.js", "../node_modules/@smithy/util-config-provider/dist-cjs/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js", "../node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js", "../node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js", "../node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js", "../node_modules/@aws-sdk/core/dist-es/submodules/client/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-types.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js", "../node_modules/@smithy/util-body-length-browser/dist-cjs/index.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js", "../node_modules/@smithy/core/dist-es/submodules/cbor/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonCodec.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_0Protocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_1Protocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js", "../node_modules/fast-xml-parser/src/util.js", "../node_modules/fast-xml-parser/src/validator.js", "../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js", "../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js", "../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js", "../node_modules/strnum/strnum.js", "../node_modules/fast-xml-parser/src/ignoreAttributes.js", "../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js", "../node_modules/fast-xml-parser/src/xmlparser/node2json.js", "../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js", "../node_modules/fast-xml-parser/src/fxp.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js", "../node_modules/@aws-sdk/xml-builder/dist-cjs/index.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js", "../node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js", "../node_modules/@aws-sdk/core/dist-es/index.js", "../node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js", "../node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js", "../node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js", "../node_modules/@aws-sdk/s3-request-presigner/dist-cjs/index.js", "../src/services/s3.ts", "../src/utils/assertUtils.ts", "../src/utils/logger.ts", "../src/utils/normalizeErrorMessage.ts", "../src/utils/thumbsKey.ts", "../src/utils/helpers.ts", "../src/services/dynamoDB.ts", "../src/services/ssm.ts", "../src/services/sqs.ts", "../src/services/sts.ts", "../src/services/location.ts", "../src/lambda/plumbingMiddleware.ts", "../src/lambda/sharedUtils.ts"],
|
|
4
|
-
"sourcesContent": ["var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n escapeUri: () => escapeUri,\n escapeUriPath: () => escapeUriPath\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/escape-uri.ts\nvar escapeUri = /* @__PURE__ */ __name((uri) => (\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode)\n), \"escapeUri\");\nvar hexEncode = /* @__PURE__ */ __name((c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, \"hexEncode\");\n\n// src/escape-uri-path.ts\nvar escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split(\"/\").map(escapeUri).join(\"/\"), \"escapeUriPath\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n escapeUri,\n escapeUriPath\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n buildQueryString: () => buildQueryString\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_util_uri_escape = require(\"@smithy/util-uri-escape\");\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = (0, import_util_uri_escape.escapeUri)(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${(0, import_util_uri_escape.escapeUri)(value[i])}`);\n }\n } else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${(0, import_util_uri_escape.escapeUri)(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n__name(buildQueryString, \"buildQueryString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n buildQueryString\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n formatUrl: () => formatUrl\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\nfunction formatUrl(request) {\n const { port, query } = request;\n let { protocol, path, hostname } = request;\n if (protocol && protocol.slice(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += `:${port}`;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = `/${path}`;\n }\n let queryString = query ? (0, import_querystring_builder.buildQueryString)(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = `?${queryString}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n let fragment = \"\";\n if (request.fragment) {\n fragment = `#${request.fragment}`;\n }\n return `${protocol}//${auth}${hostname}${path}${queryString}${fragment}`;\n}\n__name(formatUrl, \"formatUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n formatUrl\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n CredentialsProviderError: () => CredentialsProviderError,\n ProviderError: () => ProviderError,\n TokenProviderError: () => TokenProviderError,\n chain: () => chain,\n fromStatic: () => fromStatic,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/ProviderError.ts\nvar ProviderError = class _ProviderError extends Error {\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = void 0;\n tryNextLink = options;\n } else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.name = \"ProviderError\";\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, _ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static {\n __name(this, \"ProviderError\");\n }\n /**\n * @deprecated use new operator.\n */\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n};\n\n// src/CredentialsProviderError.ts\nvar CredentialsProviderError = class _CredentialsProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, _CredentialsProviderError.prototype);\n }\n static {\n __name(this, \"CredentialsProviderError\");\n }\n};\n\n// src/TokenProviderError.ts\nvar TokenProviderError = class _TokenProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, _TokenProviderError.prototype);\n }\n static {\n __name(this, \"TokenProviderError\");\n }\n};\n\n// src/chain.ts\nvar chain = /* @__PURE__ */ __name((...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n } catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n}, \"chain\");\n\n// src/fromStatic.ts\nvar fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), \"fromStatic\");\n\n// src/memoize.ts\nvar memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = /* @__PURE__ */ __name(async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n } finally {\n pending = void 0;\n }\n return resolved;\n }, \"coalesceProvider\");\n if (isExpired === void 0) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n}, \"memoize\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n CredentialsProviderError,\n ProviderError,\n TokenProviderError,\n chain,\n fromStatic,\n memoize\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();\n return homeDirCache[homeDirCacheKey];\n};\nexports.getHomeDir = getHomeDir;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = exports.tokenIntercept = void 0;\nconst fs_1 = require(\"fs\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nconst { readFile } = fs_1.promises;\nexports.tokenIntercept = {};\nconst getSSOTokenFromFile = async (id) => {\n if (exports.tokenIntercept[id]) {\n return exports.tokenIntercept[id];\n }\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n AlgorithmId: () => AlgorithmId,\n EndpointURLScheme: () => EndpointURLScheme,\n FieldPosition: () => FieldPosition,\n HttpApiKeyAuthLocation: () => HttpApiKeyAuthLocation,\n HttpAuthLocation: () => HttpAuthLocation,\n IniSectionType: () => IniSectionType,\n RequestHandlerProtocol: () => RequestHandlerProtocol,\n SMITHY_CONTEXT_KEY: () => SMITHY_CONTEXT_KEY,\n getDefaultClientConfiguration: () => getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/auth/auth.ts\nvar HttpAuthLocation = /* @__PURE__ */ ((HttpAuthLocation2) => {\n HttpAuthLocation2[\"HEADER\"] = \"header\";\n HttpAuthLocation2[\"QUERY\"] = \"query\";\n return HttpAuthLocation2;\n})(HttpAuthLocation || {});\n\n// src/auth/HttpApiKeyAuth.ts\nvar HttpApiKeyAuthLocation = /* @__PURE__ */ ((HttpApiKeyAuthLocation2) => {\n HttpApiKeyAuthLocation2[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation2[\"QUERY\"] = \"query\";\n return HttpApiKeyAuthLocation2;\n})(HttpApiKeyAuthLocation || {});\n\n// src/endpoint.ts\nvar EndpointURLScheme = /* @__PURE__ */ ((EndpointURLScheme2) => {\n EndpointURLScheme2[\"HTTP\"] = \"http\";\n EndpointURLScheme2[\"HTTPS\"] = \"https\";\n return EndpointURLScheme2;\n})(EndpointURLScheme || {});\n\n// src/extensions/checksum.ts\nvar AlgorithmId = /* @__PURE__ */ ((AlgorithmId2) => {\n AlgorithmId2[\"MD5\"] = \"md5\";\n AlgorithmId2[\"CRC32\"] = \"crc32\";\n AlgorithmId2[\"CRC32C\"] = \"crc32c\";\n AlgorithmId2[\"SHA1\"] = \"sha1\";\n AlgorithmId2[\"SHA256\"] = \"sha256\";\n return AlgorithmId2;\n})(AlgorithmId || {});\nvar getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== void 0) {\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => \"sha256\" /* SHA256 */, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.sha256, \"checksumConstructor\")\n });\n }\n if (runtimeConfig.md5 != void 0) {\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => \"md5\" /* MD5 */, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.md5, \"checksumConstructor\")\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n }\n };\n}, \"getChecksumConfiguration\");\nvar resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n}, \"resolveChecksumRuntimeConfig\");\n\n// src/extensions/defaultClientConfiguration.ts\nvar getDefaultClientConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return getChecksumConfiguration(runtimeConfig);\n}, \"getDefaultClientConfiguration\");\nvar resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {\n return resolveChecksumRuntimeConfig(config);\n}, \"resolveDefaultRuntimeConfig\");\n\n// src/http.ts\nvar FieldPosition = /* @__PURE__ */ ((FieldPosition2) => {\n FieldPosition2[FieldPosition2[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition2[FieldPosition2[\"TRAILER\"] = 1] = \"TRAILER\";\n return FieldPosition2;\n})(FieldPosition || {});\n\n// src/middleware.ts\nvar SMITHY_CONTEXT_KEY = \"__smithy_context\";\n\n// src/profile.ts\nvar IniSectionType = /* @__PURE__ */ ((IniSectionType2) => {\n IniSectionType2[\"PROFILE\"] = \"profile\";\n IniSectionType2[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType2[\"SERVICES\"] = \"services\";\n return IniSectionType2;\n})(IniSectionType || {});\n\n// src/transfer.ts\nvar RequestHandlerProtocol = /* @__PURE__ */ ((RequestHandlerProtocol2) => {\n RequestHandlerProtocol2[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol2[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol2[\"TDS_8_0\"] = \"tds/8.0\";\n return RequestHandlerProtocol2;\n})(RequestHandlerProtocol || {});\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n HttpAuthLocation,\n HttpApiKeyAuthLocation,\n EndpointURLScheme,\n AlgorithmId,\n getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig,\n FieldPosition,\n SMITHY_CONTEXT_KEY,\n IniSectionType,\n RequestHandlerProtocol\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slurpFile = exports.fileIntercept = exports.filePromisesHash = void 0;\nconst fs_1 = require(\"fs\");\nconst { readFile } = fs_1.promises;\nexports.filePromisesHash = {};\nexports.fileIntercept = {};\nconst slurpFile = (path, options) => {\n if (exports.fileIntercept[path] !== undefined) {\n return exports.fileIntercept[path];\n }\n if (!exports.filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) {\n exports.filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return exports.filePromisesHash[path];\n};\nexports.slurpFile = slurpFile;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR,\n DEFAULT_PROFILE: () => DEFAULT_PROFILE,\n ENV_PROFILE: () => ENV_PROFILE,\n SSOToken: () => import_getSSOTokenFromFile2.SSOToken,\n externalDataInterceptor: () => externalDataInterceptor,\n getProfileName: () => getProfileName,\n getSSOTokenFromFile: () => import_getSSOTokenFromFile2.getSSOTokenFromFile,\n loadSharedConfigFiles: () => loadSharedConfigFiles,\n loadSsoSessionData: () => loadSsoSessionData,\n parseKnownFiles: () => parseKnownFiles\n});\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"././getHomeDir\"), module.exports);\n\n// src/getProfileName.ts\nvar ENV_PROFILE = \"AWS_PROFILE\";\nvar DEFAULT_PROFILE = \"default\";\nvar getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, \"getProfileName\");\n\n// src/index.ts\n__reExport(index_exports, require(\"././getSSOTokenFilepath\"), module.exports);\nvar import_getSSOTokenFromFile2 = require(\"././getSSOTokenFromFile\");\n\n// src/loadSharedConfigFiles.ts\n\n\n// src/getConfigData.ts\nvar import_types = require(\"@smithy/types\");\nvar getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(import_types.IniSectionType).includes(key.substring(0, indexOfSeparator));\n}).reduce(\n (acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === import_types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n },\n {\n // Populate default profile, if present.\n ...data.default && { default: data.default }\n }\n), \"getConfigData\");\n\n// src/getConfigFilepath.ts\nvar import_path = require(\"path\");\nvar import_getHomeDir = require(\"././getHomeDir\");\nvar ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nvar getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || (0, import_path.join)((0, import_getHomeDir.getHomeDir)(), \".aws\", \"config\"), \"getConfigFilepath\");\n\n// src/getCredentialsFilepath.ts\n\nvar import_getHomeDir2 = require(\"././getHomeDir\");\nvar ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nvar getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || (0, import_path.join)((0, import_getHomeDir2.getHomeDir)(), \".aws\", \"credentials\"), \"getCredentialsFilepath\");\n\n// src/loadSharedConfigFiles.ts\nvar import_getHomeDir3 = require(\"././getHomeDir\");\n\n// src/parseIni.ts\n\nvar prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nvar profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nvar parseIni = /* @__PURE__ */ __name((iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = void 0;\n currentSubSection = void 0;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(import_types.IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n } else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n } else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim()\n ];\n if (value === \"\") {\n currentSubSection = name;\n } else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = void 0;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n}, \"parseIni\");\n\n// src/loadSharedConfigFiles.ts\nvar import_slurpFile = require(\"././slurpFile\");\nvar swallowError = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar CONFIG_PREFIX_SEPARATOR = \".\";\nvar loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = (0, import_getHomeDir3.getHomeDir)();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = (0, import_path.join)(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = (0, import_path.join)(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n (0, import_slurpFile.slurpFile)(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).then(getConfigData).catch(swallowError),\n (0, import_slurpFile.slurpFile)(resolvedFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).catch(swallowError)\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1]\n };\n}, \"loadSharedConfigFiles\");\n\n// src/getSsoSessionData.ts\n\nvar getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), \"getSsoSessionData\");\n\n// src/loadSsoSessionData.ts\nvar import_slurpFile2 = require(\"././slurpFile\");\nvar swallowError2 = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), \"loadSsoSessionData\");\n\n// src/mergeConfigFiles.ts\nvar mergeConfigFiles = /* @__PURE__ */ __name((...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== void 0) {\n Object.assign(merged[key], values);\n } else {\n merged[key] = values;\n }\n }\n }\n return merged;\n}, \"mergeConfigFiles\");\n\n// src/parseKnownFiles.ts\nvar parseKnownFiles = /* @__PURE__ */ __name(async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n}, \"parseKnownFiles\");\n\n// src/externalDataInterceptor.ts\nvar import_getSSOTokenFromFile = require(\"././getSSOTokenFromFile\");\nvar import_slurpFile3 = require(\"././slurpFile\");\nvar externalDataInterceptor = {\n getFileRecord() {\n return import_slurpFile3.fileIntercept;\n },\n interceptFile(path, contents) {\n import_slurpFile3.fileIntercept[path] = Promise.resolve(contents);\n },\n getTokenRecord() {\n return import_getSSOTokenFromFile.tokenIntercept;\n },\n interceptToken(id, contents) {\n import_getSSOTokenFromFile.tokenIntercept[id] = contents;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSSOTokenFromFile,\n externalDataInterceptor,\n getHomeDir,\n ENV_PROFILE,\n DEFAULT_PROFILE,\n getProfileName,\n getSSOTokenFilepath,\n CONFIG_PREFIX_SEPARATOR,\n loadSharedConfigFiles,\n loadSsoSessionData,\n parseKnownFiles\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n loadConfig: () => loadConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/configLoader.ts\n\n\n// src/fromEnv.ts\nvar import_property_provider = require(\"@smithy/property-provider\");\n\n// src/getSelectorName.ts\nfunction getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n } catch (e) {\n return functionString;\n }\n}\n__name(getSelectorName, \"getSelectorName\");\n\n// src/fromEnv.ts\nvar fromEnv = /* @__PURE__ */ __name((envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === void 0) {\n throw new Error();\n }\n return config;\n } catch (e) {\n throw new import_property_provider.CredentialsProviderError(\n e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`,\n { logger: options?.logger }\n );\n }\n}, \"fromEnv\");\n\n// src/fromSharedConfigFiles.ts\n\nvar import_shared_ini_file_loader = require(\"@smithy/shared-ini-file-loader\");\nvar fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = (0, import_shared_ini_file_loader.getProfileName)(init);\n const { configFile, credentialsFile } = await (0, import_shared_ini_file_loader.loadSharedConfigFiles)(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === void 0) {\n throw new Error();\n }\n return configValue;\n } catch (e) {\n throw new import_property_provider.CredentialsProviderError(\n e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`,\n { logger: init.logger }\n );\n }\n}, \"fromSharedConfigFiles\");\n\n// src/fromStatic.ts\n\nvar isFunction = /* @__PURE__ */ __name((func) => typeof func === \"function\", \"isFunction\");\nvar fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, import_property_provider.fromStatic)(defaultValue), \"fromStatic\");\n\n// src/configLoader.ts\nvar loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return (0, import_property_provider.memoize)(\n (0, import_property_provider.chain)(\n fromEnv(environmentVariableSelector, envOptions),\n fromSharedConfigFiles(configFileSelector, configuration),\n fromStatic(defaultValue)\n )\n );\n}, \"loadConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n loadConfig\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrlConfig = void 0;\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nconst getEndpointUrlConfig = (serviceId) => ({\n environmentVariableSelector: (env) => {\n const serviceSuffixParts = serviceId.split(\" \").map((w) => w.toUpperCase());\n const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join(\"_\")];\n if (serviceEndpointUrl)\n return serviceEndpointUrl;\n const endpointUrl = env[ENV_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n configFileSelector: (profile, config) => {\n if (config && profile.services) {\n const servicesSection = config[[\"services\", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (servicesSection) {\n const servicePrefixParts = serviceId.split(\" \").map((w) => w.toLowerCase());\n const endpointUrl = servicesSection[[servicePrefixParts.join(\"_\"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (endpointUrl)\n return endpointUrl;\n }\n }\n const endpointUrl = profile[CONFIG_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n default: undefined,\n});\nexports.getEndpointUrlConfig = getEndpointUrlConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromConfig = void 0;\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst getEndpointUrlConfig_1 = require(\"./getEndpointUrlConfig\");\nconst getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId !== null && serviceId !== void 0 ? serviceId : \"\"))();\nexports.getEndpointFromConfig = getEndpointFromConfig;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n parseQueryString: () => parseQueryString\n});\nmodule.exports = __toCommonJS(index_exports);\nfunction parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n__name(parseQueryString, \"parseQueryString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n parseQueryString\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n parseUrl: () => parseUrl\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_querystring_parser = require(\"@smithy/querystring-parser\");\nvar parseUrl = /* @__PURE__ */ __name((url) => {\n if (typeof url === \"string\") {\n return parseUrl(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = (0, import_querystring_parser.parseQueryString)(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : void 0,\n protocol,\n path: pathname,\n query\n };\n}, \"parseUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n parseUrl\n});\n\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n getSmithyContext: () => getSmithyContext,\n normalizeProvider: () => normalizeProvider\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/getSmithyContext.ts\nvar import_types = require(\"@smithy/types\");\nvar getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), \"getSmithyContext\");\n\n// src/normalizeProvider.ts\nvar normalizeProvider = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"function\") return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n}, \"normalizeProvider\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSmithyContext,\n normalizeProvider\n});\n\n", "export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Field: () => Field,\n Fields: () => Fields,\n HttpRequest: () => HttpRequest,\n HttpResponse: () => HttpResponse,\n IHttpRequest: () => import_types.HttpRequest,\n getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration,\n isValidHostname: () => isValidHostname,\n resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/extensions/httpExtensionConfiguration.ts\nvar getHttpHandlerExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n }\n };\n}, \"getHttpHandlerExtensionConfiguration\");\nvar resolveHttpHandlerRuntimeConfig = /* @__PURE__ */ __name((httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler()\n };\n}, \"resolveHttpHandlerRuntimeConfig\");\n\n// src/Field.ts\nvar import_types = require(\"@smithy/types\");\nvar Field = class {\n static {\n __name(this, \"Field\");\n }\n constructor({ name, kind = import_types.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n /**\n * Appends a value to the field.\n *\n * @param value The value to append.\n */\n add(value) {\n this.values.push(value);\n }\n /**\n * Overwrite existing field values.\n *\n * @param values The new field values.\n */\n set(values) {\n this.values = values;\n }\n /**\n * Remove all matching entries from list.\n *\n * @param value Value to remove.\n */\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n /**\n * Get comma-delimited string.\n *\n * @returns String representation of {@link Field}.\n */\n toString() {\n return this.values.map((v) => v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v).join(\", \");\n }\n /**\n * Get string values as a list\n *\n * @returns Values in {@link Field} as a list.\n */\n get() {\n return this.values;\n }\n};\n\n// src/Fields.ts\nvar Fields = class {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n static {\n __name(this, \"Fields\");\n }\n /**\n * Set entry for a {@link Field} name. The `name`\n * attribute will be used to key the collection.\n *\n * @param field The {@link Field} to set.\n */\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n /**\n * Retrieve {@link Field} entry by name.\n *\n * @param name The name of the {@link Field} entry\n * to retrieve\n * @returns The {@link Field} if it exists.\n */\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n /**\n * Delete entry from collection.\n *\n * @param name Name of the entry to delete.\n */\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n /**\n * Helper function for retrieving specific types of fields.\n * Used to grab all headers or all trailers.\n *\n * @param kind {@link FieldPosition} of entries to retrieve.\n * @returns The {@link Field} entries with the specified\n * {@link FieldPosition}.\n */\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n};\n\n// src/httpRequest.ts\n\nvar HttpRequest = class _HttpRequest {\n static {\n __name(this, \"HttpRequest\");\n }\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol ? options.protocol.slice(-1) !== \":\" ? `${options.protocol}:` : options.protocol : \"https:\";\n this.path = options.path ? options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n /**\n * Note: this does not deep-clone the body.\n */\n static clone(request) {\n const cloned = new _HttpRequest({\n ...request,\n headers: { ...request.headers }\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n /**\n * This method only actually asserts that request is the interface {@link IHttpRequest},\n * and not necessarily this concrete class. Left in place for API stability.\n *\n * Do not call instance methods on the input of this function, and\n * do not assume it has the HttpRequest prototype.\n */\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return \"method\" in req && \"protocol\" in req && \"hostname\" in req && \"path\" in req && typeof req[\"query\"] === \"object\" && typeof req[\"headers\"] === \"object\";\n }\n /**\n * @deprecated use static HttpRequest.clone(request) instead. It's not safe to call\n * this method because {@link HttpRequest.isInstance} incorrectly\n * asserts that IHttpRequest (interface) objects are of type HttpRequest (class).\n */\n clone() {\n return _HttpRequest.clone(this);\n }\n};\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param\n };\n }, {});\n}\n__name(cloneQuery, \"cloneQuery\");\n\n// src/httpResponse.ts\nvar HttpResponse = class {\n static {\n __name(this, \"HttpResponse\");\n }\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response) return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n};\n\n// src/isValidHostname.ts\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n__name(isValidHostname, \"isValidHostname\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getHttpHandlerExtensionConfiguration,\n resolveHttpHandlerRuntimeConfig,\n Field,\n Fields,\n HttpRequest,\n HttpResponse,\n isValidHostname\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n deserializerMiddleware: () => deserializerMiddleware,\n deserializerMiddlewareOption: () => deserializerMiddlewareOption,\n getSerdePlugin: () => getSerdePlugin,\n serializerMiddleware: () => serializerMiddleware,\n serializerMiddlewareOption: () => serializerMiddlewareOption\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/deserializerMiddleware.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed\n };\n } catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n } catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n } else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (import_protocol_http.HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries)\n };\n }\n } catch (e) {\n }\n }\n throw error;\n }\n}, \"deserializerMiddleware\");\nvar findHeader = /* @__PURE__ */ __name((pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 0])[1];\n}, \"findHeader\");\n\n// src/serializerMiddleware.ts\nvar serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2?.url && endpointConfig.urlParser ? async () => endpointConfig.urlParser(context.endpointV2.url) : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request\n });\n}, \"serializerMiddleware\");\n\n// src/serdePlugin.ts\nvar deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true\n};\nvar serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: /* @__PURE__ */ __name((commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n }, \"applyToStack\")\n };\n}\n__name(getSerdePlugin, \"getSerdePlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n deserializerMiddleware,\n deserializerMiddlewareOption,\n serializerMiddlewareOption,\n getSerdePlugin,\n serializerMiddleware\n});\n\n", "import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n", "export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n", "import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n isArrayBuffer: () => isArrayBuffer\n});\nmodule.exports = __toCommonJS(index_exports);\nvar isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\", \"isArrayBuffer\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n isArrayBuffer\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromArrayBuffer: () => fromArrayBuffer,\n fromString: () => fromString\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\nvar import_buffer = require(\"buffer\");\nvar fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return import_buffer.Buffer.from(input, offset, length);\n}, \"fromArrayBuffer\");\nvar fromString = /* @__PURE__ */ __name((input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);\n}, \"fromString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromArrayBuffer,\n fromString\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromUtf8: () => fromUtf8,\n toUint8Array: () => toUint8Array,\n toUtf8: () => toUtf8\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/fromUtf8.ts\nvar import_util_buffer_from = require(\"@smithy/util-buffer-from\");\nvar fromUtf8 = /* @__PURE__ */ __name((input) => {\n const buf = (0, import_util_buffer_from.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n}, \"fromUtf8\");\n\n// src/toUint8Array.ts\nvar toUint8Array = /* @__PURE__ */ __name((data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}, \"toUint8Array\");\n\n// src/toUtf8.ts\n\nvar toUtf8 = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n}, \"toUtf8\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromUtf8,\n toUint8Array,\n toUtf8\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = (0, util_utf8_1.fromUtf8)(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\nexports.toBase64 = toBase64;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"././fromBase64\"), module.exports);\n__reExport(index_exports, require(\"././toBase64\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromBase64,\n toBase64\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_1 = require(\"stream\");\nclass ChecksumStream extends stream_1.Duplex {\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n var _a, _b;\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBlob = exports.isReadableStream = void 0;\nconst isReadableStream = (stream) => {\n var _a;\n return typeof ReadableStream === \"function\" &&\n (((_a = stream === null || stream === void 0 ? void 0 : stream.constructor) === null || _a === void 0 ? void 0 : _a.name) === ReadableStream.name || stream instanceof ReadableStream);\n};\nexports.isReadableStream = isReadableStream;\nconst isBlob = (blob) => {\n var _a;\n return typeof Blob === \"function\" && (((_a = blob === null || blob === void 0 ? void 0 : blob.constructor) === null || _a === void 0 ? void 0 : _a.name) === Blob.name || blob instanceof Blob);\n};\nexports.isBlob = isBlob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nclass ChecksumStream extends ReadableStreamRef {\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_browser_1 = require(\"./ChecksumStream.browser\");\nconst createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n var _a, _b;\n if (!(0, stream_type_check_1.isReadableStream)(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`);\n }\n const encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype);\n return readable;\n};\nexports.createChecksumStream = createChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = createChecksumStream;\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_1 = require(\"./ChecksumStream\");\nconst createChecksumStream_browser_1 = require(\"./createChecksumStream.browser\");\nfunction createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && (0, stream_type_check_1.isReadableStream)(init.source)) {\n return (0, createChecksumStream_browser_1.createChecksumStream)(init);\n }\n return new ChecksumStream_1.ChecksumStream(init);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ByteArrayCollector = void 0;\nclass ByteArrayCollector {\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n this.byteLength = 0;\n this.byteArrays = [];\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\nexports.ByteArrayCollector = ByteArrayCollector;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = void 0;\nexports.createBufferedReadableStream = createBufferedReadableStream;\nexports.merge = merge;\nexports.flush = flush;\nexports.sizeOf = sizeOf;\nexports.modeOf = modeOf;\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nfunction createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger === null || logger === void 0 ? void 0 : logger.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexports.createBufferedReadable = createBufferedReadableStream;\nfunction merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nfunction flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nfunction sizeOf(chunk) {\n var _a, _b;\n return (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) !== null && _a !== void 0 ? _a : chunk === null || chunk === void 0 ? void 0 : chunk.length) !== null && _b !== void 0 ? _b : 0;\n}\nfunction modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = createBufferedReadable;\nconst node_stream_1 = require(\"node:stream\");\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nconst createBufferedReadableStream_1 = require(\"./createBufferedReadableStream\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction createBufferedReadable(upstream, size, logger) {\n if ((0, stream_type_check_1.isReadableStream)(upstream)) {\n return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);\n }\n const downstream = new node_stream_1.Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector_1.ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);\n bytesSeen += chunkSize;\n const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger === null || logger === void 0 ? void 0 : logger.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);\n if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst stream_1 = require(\"stream\");\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = headStream;\nasync function headStream(stream, bytes) {\n var _a;\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += (_a = value === null || value === void 0 ? void 0 : value.byteLength) !== null && _a !== void 0 ? _a : 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = void 0;\nconst stream_1 = require(\"stream\");\nconst headStream_browser_1 = require(\"./headStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst headStream = (stream, bytes) => {\n if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return (0, headStream_browser_1.headStream)(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nexports.headStream = headStream;\nclass Collector extends stream_1.Writable {\n constructor() {\n super(...arguments);\n this.buffers = [];\n this.limit = Infinity;\n this.bytesBuffered = 0;\n }\n _write(chunk, encoding, callback) {\n var _a;\n this.buffers.push(chunk);\n this.bytesBuffered += (_a = chunk.byteLength) !== null && _a !== void 0 ? _a : 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n", "var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n DEFAULT_REQUEST_TIMEOUT: () => DEFAULT_REQUEST_TIMEOUT,\n NodeHttp2Handler: () => NodeHttp2Handler,\n NodeHttpHandler: () => NodeHttpHandler,\n streamCollector: () => streamCollector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/node-http-handler.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\nvar import_http = require(\"http\");\nvar import_https = require(\"https\");\n\n// src/constants.ts\nvar NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\n// src/get-transformed-headers.ts\nvar getTransformedHeaders = /* @__PURE__ */ __name((headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n}, \"getTransformedHeaders\");\n\n// src/timing.ts\nvar timing = {\n setTimeout: /* @__PURE__ */ __name((cb, ms) => setTimeout(cb, ms), \"setTimeout\"),\n clearTimeout: /* @__PURE__ */ __name((timeoutId) => clearTimeout(timeoutId), \"clearTimeout\")\n};\n\n// src/set-connection-timeout.ts\nvar DEFER_EVENT_LISTENER_TIME = 1e3;\nvar setConnectionTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = /* @__PURE__ */ __name((offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(\n Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\"\n })\n );\n }, timeoutInMs - offset);\n const doWithSocket = /* @__PURE__ */ __name((socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n } else {\n timing.clearTimeout(timeoutId);\n }\n }, \"doWithSocket\");\n if (request.socket) {\n doWithSocket(request.socket);\n } else {\n request.on(\"socket\", doWithSocket);\n }\n }, \"registerTimeout\");\n if (timeoutInMs < 2e3) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n}, \"setConnectionTimeout\");\n\n// src/set-socket-keep-alive.ts\nvar DEFER_EVENT_LISTENER_TIME2 = 3e3;\nvar setSocketKeepAlive = /* @__PURE__ */ __name((request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME2) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = /* @__PURE__ */ __name(() => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n } else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n }, \"registerListener\");\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n}, \"setSocketKeepAlive\");\n\n// src/set-socket-timeout.ts\nvar DEFER_EVENT_LISTENER_TIME3 = 3e3;\nvar setSocketTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = DEFAULT_REQUEST_TIMEOUT) => {\n const registerTimeout = /* @__PURE__ */ __name((offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = /* @__PURE__ */ __name(() => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n }, \"onTimeout\");\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n } else {\n request.setTimeout(timeout, onTimeout);\n }\n }, \"registerTimeout\");\n if (0 < timeoutInMs && timeoutInMs < 6e3) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(\n registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME3),\n DEFER_EVENT_LISTENER_TIME3\n );\n}, \"setSocketTimeout\");\n\n// src/write-request-body.ts\nvar import_stream = require(\"stream\");\nvar MIN_WAIT_TIME = 6e3;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME) {\n const headers = request.headers ?? {};\n const expect = headers[\"Expect\"] || headers[\"expect\"];\n let timeoutId = -1;\n let sendBody = true;\n if (expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n })\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\n__name(writeRequestBody, \"writeRequestBody\");\nfunction writeBody(httpRequest, body) {\n if (body instanceof import_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" && uint8.buffer && typeof uint8.byteOffset === \"number\" && typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n__name(writeBody, \"writeBody\");\n\n// src/node-http-handler.ts\nvar DEFAULT_REQUEST_TIMEOUT = 0;\nvar NodeHttpHandler = class _NodeHttpHandler {\n constructor(options) {\n this.socketWarningTimestamp = 0;\n // Node http handler is hard-coded to http/1.1: https://github.com/nodejs/node/blob/ff5664b83b89c55e4ab5d5f60068fb457f1f5872/lib/_http_server.js#L286\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options().then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n }).catch(reject);\n } else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n static {\n __name(this, \"NodeHttpHandler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _NodeHttpHandler(instanceOrOptions);\n }\n /**\n * @internal\n *\n * @param agent - http(s) agent in use by the NodeHttpHandler instance.\n * @param socketWarningTimestamp - last socket usage check timestamp.\n * @param logger - channel for the warning.\n * @returns timestamp of last emitted warning.\n */\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15e3;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(\n `@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`\n );\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout: requestTimeout ?? socketTimeout,\n socketAcquisitionWarningTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof import_http.Agent || typeof httpAgent?.destroy === \"function\") {\n return httpAgent;\n }\n return new import_http.Agent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof import_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n return httpsAgent;\n }\n return new import_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = void 0;\n const timeouts = [];\n const resolve = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n }, \"resolve\");\n const reject = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n }, \"reject\");\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent;\n timeouts.push(\n timing.setTimeout(\n () => {\n this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(\n agent,\n this.socketWarningTimestamp,\n this.config.logger\n );\n },\n this.config.socketAcquisitionWarningTimeout ?? (this.config.requestTimeout ?? 2e3) + (this.config.connectionTimeout ?? 1e3)\n )\n );\n const queryString = (0, import_querystring_builder.buildQueryString)(request.query || {});\n let auth = void 0;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n } else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth\n };\n const requestFunc = isSSL ? import_https.request : import_http.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new import_protocol_http.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n } else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = /* @__PURE__ */ __name(() => {\n req.destroy();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n } else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? this.config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout));\n timeouts.push(setSocketTimeout(req, reject, effectiveRequestTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(\n setSocketKeepAlive(req, {\n // @ts-expect-error keepAlive is not public on httpAgent.\n keepAlive: httpAgent.keepAlive,\n // @ts-expect-error keepAliveMsecs is not public on httpAgent.\n keepAliveMsecs: httpAgent.keepAliveMsecs\n })\n );\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n};\n\n// src/node-http2-handler.ts\n\n\nvar import_http22 = require(\"http2\");\n\n// src/node-http2-connection-manager.ts\nvar import_http2 = __toESM(require(\"http2\"));\n\n// src/node-http2-connection-pool.ts\nvar NodeHttp2ConnectionPool = class {\n constructor(sessions) {\n this.sessions = [];\n this.sessions = sessions ?? [];\n }\n static {\n __name(this, \"NodeHttp2ConnectionPool\");\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n};\n\n// src/node-http2-connection-manager.ts\nvar NodeHttp2ConnectionManager = class {\n constructor(config) {\n this.sessionCache = /* @__PURE__ */ new Map();\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n static {\n __name(this, \"NodeHttp2ConnectionManager\");\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = import_http2.default.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\n \"Fail to set maxConcurrentStreams to \" + this.config.maxConcurrency + \"when creating new session for \" + requestContext.destination.toString()\n );\n }\n });\n }\n session.unref();\n const destroySessionCb = /* @__PURE__ */ __name(() => {\n session.destroy();\n this.deleteSession(url, session);\n }, \"destroySessionCb\");\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n /**\n * Delete a session from the connection pool.\n * @param authority The authority of the session to delete.\n * @param session The session to delete.\n */\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n};\n\n// src/node-http2-handler.ts\nvar NodeHttp2Handler = class _NodeHttp2Handler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.connectionManager = new NodeHttp2ConnectionManager({});\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options().then((opts) => {\n resolve(opts || {});\n }).catch(reject);\n } else {\n resolve(options || {});\n }\n });\n }\n static {\n __name(this, \"NodeHttp2Handler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _NodeHttp2Handler(instanceOrOptions);\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = void 0;\n const resolve = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n }, \"resolve\");\n const reject = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n }, \"reject\");\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false\n });\n const rejectWithDestroy = /* @__PURE__ */ __name((err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n }, \"rejectWithDestroy\");\n const queryString = (0, import_querystring_builder.buildQueryString)(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [import_http22.constants.HTTP2_HEADER_PATH]: path,\n [import_http22.constants.HTTP2_HEADER_METHOD]: method\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new import_protocol_http.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = /* @__PURE__ */ __name(() => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n } else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(\n new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`)\n );\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n /**\n * Destroys a session.\n * @param session - the session to destroy.\n */\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n};\n\n// src/stream-collector/collector.ts\n\nvar Collector = class extends import_stream.Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n static {\n __name(this, \"Collector\");\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n};\n\n// src/stream-collector/index.ts\nvar streamCollector = /* @__PURE__ */ __name((stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function() {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n}, \"streamCollector\");\nvar isReadableStreamInstance = /* @__PURE__ */ __name((stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream, \"isReadableStreamInstance\");\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n__name(collectReadableStream, \"collectReadableStream\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n DEFAULT_REQUEST_TIMEOUT,\n NodeHttpHandler,\n NodeHttp2Handler,\n streamCollector\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n FetchHttpHandler: () => FetchHttpHandler,\n keepAliveSupport: () => keepAliveSupport,\n streamCollector: () => streamCollector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/fetch-http-handler.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\n\n// src/create-request.ts\nfunction createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n__name(createRequest, \"createRequest\");\n\n// src/request-timeout.ts\nfunction requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n__name(requestTimeout, \"requestTimeout\");\n\n// src/fetch-http-handler.ts\nvar keepAliveSupport = {\n supported: void 0\n};\nvar FetchHttpHandler = class _FetchHttpHandler {\n static {\n __name(this, \"FetchHttpHandler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n } else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === void 0) {\n keepAliveSupport.supported = Boolean(\n typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\")\n );\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout: requestTimeout2 } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout2 ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = (0, import_querystring_builder.buildQueryString)(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? void 0 : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method,\n credentials\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = /* @__PURE__ */ __name(() => {\n }, \"removeSignalEventListener\");\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != void 0;\n if (!hasReadableStream) {\n return response.blob().then((body2) => ({\n response: new import_protocol_http.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: body2\n })\n }));\n }\n return {\n response: new import_protocol_http.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body\n })\n };\n }),\n requestTimeout(requestTimeoutInMs)\n ];\n if (abortSignal) {\n raceOfPromises.push(\n new Promise((resolve, reject) => {\n const onAbort = /* @__PURE__ */ __name(() => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = /* @__PURE__ */ __name(() => signal.removeEventListener(\"abort\", onAbort), \"removeSignalEventListener\");\n } else {\n abortSignal.onabort = onAbort;\n }\n })\n );\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n};\n\n// src/stream-collector.ts\nvar import_util_base64 = require(\"@smithy/util-base64\");\nvar streamCollector = /* @__PURE__ */ __name(async (stream) => {\n if (typeof Blob === \"function\" && stream instanceof Blob || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== void 0) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n}, \"streamCollector\");\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = (0, import_util_base64.fromBase64)(base64);\n return new Uint8Array(arrayBuffer);\n}\n__name(collectBlob, \"collectBlob\");\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n__name(collectStream, \"collectStream\");\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = reader.result ?? \"\";\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n__name(readToBase64, \"readToBase64\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n keepAliveSupport,\n FetchHttpHandler,\n streamCollector\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromHex: () => fromHex,\n toHex: () => toHex\n});\nmodule.exports = __toCommonJS(index_exports);\nvar SHORT_TO_HEX = {};\nvar HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n } else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\n__name(fromHex, \"fromHex\");\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n__name(toHex, \"toHex\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromHex,\n toHex\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst fetch_http_handler_1 = require(\"@smithy/fetch-http-handler\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_hex_encoding_1 = require(\"@smithy/util-hex-encoding\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, fetch_http_handler_1.streamCollector)(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return (0, util_base64_1.toBase64)(buf);\n }\n else if (encoding === \"hex\") {\n return (0, util_hex_encoding_1.toHex)(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return (0, util_utf8_1.toUtf8)(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst sdk_stream_mixin_browser_1 = require(\"./sdk-stream-mixin.browser\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!(stream instanceof stream_1.Readable)) {\n try {\n return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream);\n }\n catch (e) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nasync function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nconst stream_1 = require(\"stream\");\nconst splitStream_browser_1 = require(\"./splitStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nasync function splitStream(stream) {\n if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) {\n return (0, splitStream_browser_1.splitStream)(stream);\n }\n const stream1 = new stream_1.PassThrough();\n const stream2 = new stream_1.PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/blob/transforms.ts\nvar import_util_base64 = require(\"@smithy/util-base64\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nfunction transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return (0, import_util_base64.toBase64)(payload);\n }\n return (0, import_util_utf8.toUtf8)(payload);\n}\n__name(transformToString, \"transformToString\");\nfunction transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate((0, import_util_base64.fromBase64)(str));\n }\n return Uint8ArrayBlobAdapter.mutate((0, import_util_utf8.fromUtf8)(str));\n}\n__name(transformFromString, \"transformFromString\");\n\n// src/blob/Uint8ArrayBlobAdapter.ts\nvar Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter extends Uint8Array {\n static {\n __name(this, \"Uint8ArrayBlobAdapter\");\n }\n /**\n * @param source - such as a string or Stream.\n * @returns a new Uint8ArrayBlobAdapter extending Uint8Array.\n */\n static fromString(source, encoding = \"utf-8\") {\n switch (typeof source) {\n case \"string\":\n return transformFromString(source, encoding);\n default:\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n }\n /**\n * @param source - Uint8Array to be mutated.\n * @returns the same Uint8Array but with prototype switched to Uint8ArrayBlobAdapter.\n */\n static mutate(source) {\n Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n /**\n * @param encoding - default 'utf-8'.\n * @returns the blob as string.\n */\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n};\n\n// src/index.ts\n__reExport(index_exports, require(\"./checksum/ChecksumStream\"), module.exports);\n__reExport(index_exports, require(\"./checksum/createChecksumStream\"), module.exports);\n__reExport(index_exports, require(\"././createBufferedReadable\"), module.exports);\n__reExport(index_exports, require(\"././getAwsChunkedEncodingStream\"), module.exports);\n__reExport(index_exports, require(\"././headStream\"), module.exports);\n__reExport(index_exports, require(\"././sdk-stream-mixin\"), module.exports);\n__reExport(index_exports, require(\"././splitStream\"), module.exports);\n__reExport(index_exports, require(\"././stream-type-check\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Uint8ArrayBlobAdapter,\n ChecksumStream,\n createChecksumStream,\n createBufferedReadable,\n getAwsChunkedEncodingStream,\n headStream,\n sdkStreamMixin,\n splitStream,\n isReadableStream,\n isBlob\n});\n\n", "import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n", "export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n", "export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n try {\n const parsed = await config.protocol.deserializeResponse(operationSchema, {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const endpoint = context.endpointV2?.url && config.urlParser\n ? async () => config.urlParser(context.endpointV2.url)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operationSchema, args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n", "import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n", "export class TypeRegistry {\n constructor(namespace, schemas = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n const registry = TypeRegistry.for(this.getNamespace(shapeId));\n registry.schemas.set(qualifiedName, schema);\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n getBaseException() {\n for (const [id, schema] of this.schemas.entries()) {\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return schema;\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n destroy() {\n TypeRegistry.registries.delete(this.namespace);\n this.schemas.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n getNamespace(shapeId) {\n return this.normalizeShapeId(shapeId).split(\"#\")[0];\n }\n}\nTypeRegistry.registries = new Map();\n", "import { TypeRegistry } from \"../TypeRegistry\";\nexport class Schema {\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n TypeRegistry.for(schema.namespace).register(schema.name, schema);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n", "import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = ListSchema.symbol;\n }\n}\nListSchema.symbol = Symbol.for(\"@smithy/lis\");\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = MapSchema.symbol;\n }\n}\nMapSchema.symbol = Symbol.for(\"@smithy/map\");\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = OperationSchema.symbol;\n }\n}\nOperationSchema.symbol = Symbol.for(\"@smithy/ope\");\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = StructureSchema.symbol;\n }\n}\nStructureSchema.symbol = Symbol.for(\"@smithy/str\");\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n", "import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n constructor() {\n super(...arguments);\n this.symbol = ErrorSchema.symbol;\n }\n}\nErrorSchema.symbol = Symbol.for(\"@smithy/err\");\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor,\n});\n", "export const SCHEMA = {\n BLOB: 21,\n STREAMING_BLOB: 42,\n BOOLEAN: 2,\n STRING: 0,\n NUMERIC: 1,\n BIG_INTEGER: 17,\n BIG_DECIMAL: 19,\n DOCUMENT: 15,\n TIMESTAMP_DEFAULT: 4,\n TIMESTAMP_DATE_TIME: 5,\n TIMESTAMP_HTTP_DATE: 6,\n TIMESTAMP_EPOCH_SECONDS: 7,\n LIST_MODIFIER: 64,\n MAP_MODIFIER: 128,\n};\n", "import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = SimpleSchema.symbol;\n }\n}\nSimpleSchema.symbol = Symbol.for(\"@smithy/sim\");\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n", "import { deref } from \"../deref\";\nimport { ListSchema } from \"./ListSchema\";\nimport { MapSchema } from \"./MapSchema\";\nimport { Schema } from \"./Schema\";\nimport { SCHEMA } from \"./sentinels\";\nimport { SimpleSchema } from \"./SimpleSchema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class NormalizedSchema {\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n this.symbol = NormalizedSchema.symbol;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (Array.isArray(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, NormalizedSchema.translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (this.schema && typeof this.schema === \"object\") {\n this.traits = this.schema?.traits ?? {};\n }\n else {\n this.traits = 0;\n }\n this.name =\n (this.schema instanceof Schema ? this.schema.getName?.() : void 0) ?? this.memberName ?? this.getSchemaName();\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n return Schema[Symbol.hasInstance].bind(this)(lhs);\n }\n static of(ref) {\n if (ref instanceof NormalizedSchema) {\n return ref;\n }\n if (Array.isArray(ref)) {\n const [ns, traits] = ref;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), NormalizedSchema.translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n return new NormalizedSchema(ref);\n }\n static translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return traits;\n }\n getSchema() {\n if (this.schema instanceof NormalizedSchema) {\n Object.assign(this, { schema: this.schema.getSchema() });\n return this.schema;\n }\n if (this.schema instanceof SimpleSchema) {\n return deref(this.schema.schemaRef);\n }\n return deref(this.schema);\n }\n getName(withNamespace = false) {\n if (!withNamespace) {\n if (this.name && this.name.includes(\"#\")) {\n return this.name.split(\"#\")[1];\n }\n }\n return this.name || undefined;\n }\n getMemberName() {\n if (!this.isMemberSchema()) {\n throw new Error(`@smithy/core/schema - non-member schema: ${this.getName(true)}`);\n }\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isListSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.LIST_MODIFIER && inner < SCHEMA.MAP_MODIFIER;\n }\n return inner instanceof ListSchema;\n }\n isMapSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.MAP_MODIFIER && inner <= 255;\n }\n return inner instanceof MapSchema;\n }\n isStructSchema() {\n const inner = this.getSchema();\n return (inner !== null && typeof inner === \"object\" && \"members\" in inner) || inner instanceof StructureSchema;\n }\n isBlobSchema() {\n return this.getSchema() === SCHEMA.BLOB || this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isTimestampSchema() {\n const schema = this.getSchema();\n return typeof schema === \"number\" && schema >= SCHEMA.TIMESTAMP_DEFAULT && schema <= SCHEMA.TIMESTAMP_EPOCH_SECONDS;\n }\n isDocumentSchema() {\n return this.getSchema() === SCHEMA.DOCUMENT;\n }\n isStringSchema() {\n return this.getSchema() === SCHEMA.STRING;\n }\n isBooleanSchema() {\n return this.getSchema() === SCHEMA.BOOLEAN;\n }\n isNumericSchema() {\n return this.getSchema() === SCHEMA.NUMERIC;\n }\n isBigIntegerSchema() {\n return this.getSchema() === SCHEMA.BIG_INTEGER;\n }\n isBigDecimalSchema() {\n return this.getSchema() === SCHEMA.BIG_DECIMAL;\n }\n isStreaming() {\n const streaming = !!this.getMergedTraits().streaming;\n if (streaming) {\n return true;\n }\n return this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isIdempotencyToken() {\n if (typeof this.traits === \"number\") {\n return (this.traits & 0b0100) === 0b0100;\n }\n else if (typeof this.traits === \"object\") {\n return !!this.traits.idempotencyToken;\n }\n return false;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return NormalizedSchema.translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return NormalizedSchema.translateTraits(this.traits);\n }\n getKeySchema() {\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], \"key\");\n }\n if (!this.isMapSchema()) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n return this.memberFrom([63 & schema, 0], \"key\");\n }\n return this.memberFrom([schema.keySchema, 0], \"key\");\n }\n getValueSchema() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n if (this.isMapSchema()) {\n return this.memberFrom([63 & schema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return this.memberFrom([63 & schema, 0], \"member\");\n }\n }\n if (schema && typeof schema === \"object\") {\n if (this.isStructSchema()) {\n throw new Error(`may not getValueSchema() on structure ${this.getName(true)}`);\n }\n const collection = schema;\n if (\"valueSchema\" in collection) {\n if (this.isMapSchema()) {\n return this.memberFrom([collection.valueSchema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return this.memberFrom([collection.valueSchema, 0], \"member\");\n }\n }\n }\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], \"value\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n hasMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n return struct.memberNames.includes(member);\n }\n return false;\n }\n getMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n if (!struct.memberNames.includes(member)) {\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${member}.`);\n }\n const i = struct.memberNames.indexOf(member);\n const memberSchema = struct.memberList[i];\n return this.memberFrom(Array.isArray(memberSchema) ? memberSchema : [memberSchema, 0], member);\n }\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], member);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no members.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n for (let i = 0; i < struct.memberNames.length; ++i) {\n yield [struct.memberNames[i], this.memberFrom([struct.memberList[i], 0], struct.memberNames[i])];\n }\n }\n memberFrom(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n return new NormalizedSchema(memberSchema, memberName);\n }\n getSchemaName() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n const _schema = 63 & schema;\n const container = 192 & schema;\n const type = Object.entries(SCHEMA).find(([, value]) => {\n return value === _schema;\n })?.[0] ?? \"Unknown\";\n switch (container) {\n case SCHEMA.MAP_MODIFIER:\n return `${type}Map`;\n case SCHEMA.LIST_MODIFIER:\n return `${type}List`;\n case 0:\n return type;\n }\n }\n return \"Unknown\";\n }\n}\nNormalizedSchema.symbol = Symbol.for(\"@smithy/nor\");\n", "export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./TypeRegistry\";\n", "export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n", "export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n", "import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n", "import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}", "import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;", "import crypto from 'crypto';\nexport default {\n randomUUID: crypto.randomUUID\n};", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;", "export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';", "import { v4 as generateIdempotencyToken } from \"uuid\";\nexport { generateIdempotencyToken };\n", "export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n", "export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n", "export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n", "export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n", "export class NumericValue {\n constructor(string, type) {\n this.string = string;\n this.type = type;\n let dot = 0;\n for (let i = 0; i < string.length; ++i) {\n const char = string.charCodeAt(i);\n if (i === 0 && char === 45) {\n continue;\n }\n if (char === 46) {\n if (dot) {\n throw new Error(\"@smithy/core/serde - NumericValue must contain at most one decimal point.\");\n }\n dot = 1;\n continue;\n }\n if (char < 48 || char > 57) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n const prototypeMatch = NumericValue.prototype.isPrototypeOf(object);\n if (prototypeMatch) {\n return prototypeMatch;\n }\n if (typeof _nv.string === \"string\" &&\n typeof _nv.type === \"string\" &&\n _nv.constructor?.name?.endsWith(\"NumericValue\")) {\n return true;\n }\n return prototypeMatch;\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n", "export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n", "import { SCHEMA } from \"@smithy/core/schema\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class EventStreamSerde {\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, event[unionMember].body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, event[unionMember].body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = unionSchema.hasMemberSchema(unionMember);\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(SCHEMA.DOCUMENT, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n break;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n", "export * from \"./EventStreamSerde\";\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nexport class HttpProtocol {\n constructor(options) {\n this.options = options;\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n if (!request.query) {\n request.query = {};\n }\n request.query[k] = v;\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n const operationNs = NormalizedSchema.of(operationSchema);\n const inputNs = NormalizedSchema.of(operationSchema.input);\n if (operationNs.getMergedTraits().endpoint) {\n let hostPrefix = operationNs.getMergedTraits().endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = NormalizedSchema.translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null) {\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n }\n }\n if (hasNonHttpBindingMember && input) {\n serializer.write(schema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === SCHEMA.TIMESTAMP_DEFAULT) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n return nonHttpBindingMembers;\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n", "import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n constructor(input, context) {\n this.input = input;\n this.context = context;\n this.query = {};\n this.method = \"\";\n this.headers = {};\n this.path = \"\";\n this.body = null;\n this.hostname = \"\";\n this.resolvePathStack = [];\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n", "import { SCHEMA } from \"@smithy/core/schema\";\nexport function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === SCHEMA.TIMESTAMP_DATE_TIME ||\n ns.getSchema() === SCHEMA.TIMESTAMP_HTTP_DATE ||\n ns.getSchema() === SCHEMA.TIMESTAMP_EPOCH_SECONDS)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? SCHEMA.TIMESTAMP_HTTP_DATE\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? SCHEMA.TIMESTAMP_DATE_TIME\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer {\n constructor(settings) {\n this.settings = settings;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return parseRfc3339DateTimeWithOffset(data);\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return parseRfc7231DateTime(data);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n switch (true) {\n case ns.isNumericSchema():\n return Number(data);\n case ns.isBigIntegerSchema():\n return BigInt(data);\n case ns.isBigDecimalSchema():\n return new NumericValue(data, \"bigDecimal\");\n case ns.isBooleanSchema():\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer {\n constructor(codecDeserializer, codecSettings) {\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { dateToUtcString, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer {\n constructor(settings) {\n this.settings = settings;\n this.stringBuffer = \"\";\n this.serdeContext = undefined;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n this.stringBuffer = dateToUtcString(value);\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n this.stringBuffer = String(value);\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n", "export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\n", "export { requestBuilder } from \"@smithy/core/protocols\";\n", "export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n", "export class DefaultIdentityProviderConfig {\n constructor(config) {\n this.authSchemes = new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n", "export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n", "export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n", "export const createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\nexport const EXPIRATION_MS = 300000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n", "export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./protocols/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n endpointMiddleware: () => endpointMiddleware,\n endpointMiddlewareOptions: () => endpointMiddlewareOptions,\n getEndpointFromInstructions: () => getEndpointFromInstructions,\n getEndpointPlugin: () => getEndpointPlugin,\n resolveEndpointConfig: () => resolveEndpointConfig,\n resolveEndpointRequiredConfig: () => resolveEndpointRequiredConfig,\n resolveParams: () => resolveParams,\n toEndpointV1: () => toEndpointV1\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/service-customizations/s3.ts\nvar resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\") || bucket.toLowerCase() !== bucket || bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n}, \"resolveParamsForS3\");\nvar DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nvar IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nvar DOTS_PATTERN = /\\.\\./;\nvar isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), \"isDnsCompatibleBucketName\");\nvar isArnBucketName = /* @__PURE__ */ __name((bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n}, \"isArnBucketName\");\n\n// src/adaptors/createConfigValueProvider.ts\nvar createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config) => {\n const configProvider = /* @__PURE__ */ __name(async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n }, \"configProvider\");\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return void 0;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n}, \"createConfigValueProvider\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar import_getEndpointFromConfig = require(\"./adaptors/getEndpointFromConfig\");\n\n// src/adaptors/toEndpointV1.ts\nvar import_url_parser = require(\"@smithy/url-parser\");\nvar toEndpointV1 = /* @__PURE__ */ __name((endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return (0, import_url_parser.parseUrl)(endpoint.url);\n }\n return endpoint;\n }\n return (0, import_url_parser.parseUrl)(endpoint);\n}, \"toEndpointV1\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar getEndpointFromInstructions = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n } else {\n endpointFromConfig = await (0, import_getEndpointFromConfig.getEndpointFromConfig)(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n}, \"getEndpointFromInstructions\");\nvar resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n}, \"resolveParams\");\n\n// src/endpointMiddleware.ts\nvar import_core = require(\"@smithy/core\");\nvar import_util_middleware = require(\"@smithy/util-middleware\");\nvar endpointMiddleware = /* @__PURE__ */ __name(({\n config,\n instructions\n}) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n (0, import_core.setFeature)(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(\n args.input,\n {\n getEndpointParameterInstructions() {\n return instructions;\n }\n },\n { ...config },\n context\n );\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(\n httpAuthOption.signingProperties || {},\n {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet\n },\n authScheme.properties\n );\n }\n }\n return next({\n ...args\n });\n };\n}, \"endpointMiddleware\");\n\n// src/getEndpointPlugin.ts\nvar import_middleware_serde = require(\"@smithy/middleware-serde\");\nvar endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: import_middleware_serde.serializerMiddlewareOption.name\n};\nvar getEndpointPlugin = /* @__PURE__ */ __name((config, instructions) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(\n endpointMiddleware({\n config,\n instructions\n }),\n endpointMiddlewareOptions\n );\n }, \"applyToStack\")\n}), \"getEndpointPlugin\");\n\n// src/resolveEndpointConfig.ts\n\nvar import_getEndpointFromConfig2 = require(\"./adaptors/getEndpointFromConfig\");\nvar resolveEndpointConfig = /* @__PURE__ */ __name((input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await (0, import_util_middleware.normalizeProvider)(endpoint)()) : void 0;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(useDualstackEndpoint ?? false),\n useFipsEndpoint: (0, import_util_middleware.normalizeProvider)(useFipsEndpoint ?? false)\n });\n let configuredEndpointPromise = void 0;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = (0, import_getEndpointFromConfig2.getEndpointFromConfig)(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n}, \"resolveEndpointConfig\");\n\n// src/resolveEndpointRequiredConfig.ts\nvar resolveEndpointRequiredConfig = /* @__PURE__ */ __name((input) => {\n const { endpoint } = input;\n if (endpoint === void 0) {\n input.endpoint = async () => {\n throw new Error(\n \"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\"\n );\n };\n }\n return input;\n}, \"resolveEndpointRequiredConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getEndpointFromInstructions,\n resolveParams,\n toEndpointV1,\n endpointMiddleware,\n endpointMiddlewareOptions,\n getEndpointPlugin,\n resolveEndpointConfig,\n resolveEndpointRequiredConfig\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n constructStack: () => constructStack\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/MiddlewareStack.ts\nvar getAllAliases = /* @__PURE__ */ __name((name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n}, \"getAllAliases\");\nvar getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n}, \"getMiddlewareNameWithAliases\");\nvar constructStack = /* @__PURE__ */ __name(() => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = /* @__PURE__ */ new Set();\n const sort = /* @__PURE__ */ __name((entries) => entries.sort(\n (a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]\n ), \"sort\");\n const removeByName = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByName\");\n const removeByReference = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByReference\");\n const cloneTo = /* @__PURE__ */ __name((toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n }, \"cloneTo\");\n const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n }, \"expandRelativeMiddlewareList\");\n const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === void 0) {\n if (debug) {\n return;\n }\n throw new Error(\n `${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}`\n );\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce(\n (wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n },\n []\n );\n return mainChain;\n }, \"getMiddlewareList\");\n const stack = {\n add: /* @__PURE__ */ __name((middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override) throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ${entry.priority} priority in ${entry.step} step.`\n );\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n }, \"add\"),\n addRelativeTo: /* @__PURE__ */ __name((middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override) throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`\n );\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n }, \"addRelativeTo\"),\n clone: /* @__PURE__ */ __name(() => cloneTo(constructStack()), \"clone\"),\n use: /* @__PURE__ */ __name((plugin) => {\n plugin.applyToStack(stack);\n }, \"use\"),\n remove: /* @__PURE__ */ __name((toRemove) => {\n if (typeof toRemove === \"string\") return removeByName(toRemove);\n else return removeByReference(toRemove);\n }, \"remove\"),\n removeByTag: /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByTag\"),\n concat: /* @__PURE__ */ __name((from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(\n identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false)\n );\n return cloned;\n }, \"concat\"),\n applyToStack: cloneTo,\n identify: /* @__PURE__ */ __name(() => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ?? mw.relation + \" \" + mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n }, \"identify\"),\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\") identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: /* @__PURE__ */ __name((handler, context) => {\n for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n }, \"resolve\")\n };\n return stack;\n}, \"constructStack\");\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n constructStack\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Client: () => Client,\n Command: () => Command,\n NoOpLogger: () => NoOpLogger,\n SENSITIVE_STRING: () => SENSITIVE_STRING2,\n ServiceException: () => ServiceException,\n _json: () => _json,\n collectBody: () => import_protocols.collectBody,\n convertMap: () => convertMap,\n createAggregatedClient: () => createAggregatedClient,\n decorateServiceException: () => decorateServiceException,\n emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion,\n extendedEncodeURIComponent: () => import_protocols.extendedEncodeURIComponent,\n getArrayIfSingleItem: () => getArrayIfSingleItem,\n getDefaultClientConfiguration: () => getDefaultClientConfiguration,\n getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration,\n getValueFromTextNode: () => getValueFromTextNode,\n isSerializableHeaderValue: () => isSerializableHeaderValue,\n loadConfigsForDefaultMode: () => loadConfigsForDefaultMode,\n map: () => map,\n resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig,\n resolvedPath: () => import_protocols.resolvedPath,\n serializeDateTime: () => serializeDateTime,\n serializeFloat: () => serializeFloat,\n take: () => take,\n throwDefaultError: () => throwDefaultError,\n withBaseException: () => withBaseException\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/client.ts\nvar import_middleware_stack = require(\"@smithy/middleware-stack\");\nvar Client = class {\n constructor(config) {\n this.config = config;\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Client\");\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : void 0;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = /* @__PURE__ */ new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n } else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n } else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command).then(\n (result) => callback(null, result.output),\n (err) => callback(err)\n ).catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n () => {\n }\n );\n } else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n};\n\n// src/collect-stream-body.ts\nvar import_protocols = require(\"@smithy/core/protocols\");\n\n// src/command.ts\n\nvar import_types = require(\"@smithy/types\");\n\n// src/schemaLogFilter.ts\nvar import_schema = require(\"@smithy/core/schema\");\nvar SENSITIVE_STRING = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = import_schema.NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n } else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n } else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n__name(schemaLogFilter, \"schemaLogFilter\");\n\n// src/command.ts\nvar Command = class {\n constructor() {\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Command\");\n }\n /**\n * Factory for Command ClassBuilder.\n * @internal\n */\n static classBuilder() {\n return new ClassBuilder();\n }\n /**\n * @internal\n */\n resolveMiddlewareWithContext(clientStack, configuration, options, {\n middlewareFn,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n smithyContext,\n additionalContext,\n CommandCtor\n }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [import_types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext\n },\n ...additionalContext\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request) => requestHandler.handle(request.request, options || {}),\n handlerExecutionContext\n );\n }\n};\nvar ClassBuilder = class {\n constructor() {\n this._init = /* @__PURE__ */ __name(() => {\n }, \"_init\");\n this._ep = {};\n this._middlewareFn = /* @__PURE__ */ __name(() => [], \"_middlewareFn\");\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = void 0;\n this._outputFilterSensitiveLog = void 0;\n this._serializer = null;\n this._deserializer = null;\n }\n static {\n __name(this, \"ClassBuilder\");\n }\n /**\n * Optional init callback.\n */\n init(cb) {\n this._init = cb;\n }\n /**\n * Set the endpoint parameter instructions.\n */\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n /**\n * Add any number of middleware.\n */\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n /**\n * Set the initial handler execution context Smithy field.\n */\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext\n };\n return this;\n }\n /**\n * Set the initial handler execution context.\n */\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n /**\n * Set constant string identifiers for the operation.\n */\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n /**\n * Set the input and output sensistive log filters.\n */\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n /**\n * Sets the serializer.\n */\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n /**\n * Sets the deserializer.\n */\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n /**\n * Sets input/output schema for the operation.\n */\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n /**\n * @returns a Command class with the classBuilder properties.\n */\n build() {\n const closure = this;\n let CommandRef;\n return CommandRef = class extends Command {\n /**\n * @public\n */\n constructor(...[input]) {\n super();\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.serialize = closure._serializer;\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n static {\n __name(this, \"CommandRef\");\n }\n /**\n * @public\n */\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n /**\n * @internal\n */\n resolveMiddleware(stack, configuration, options) {\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext\n });\n }\n };\n }\n};\n\n// src/constants.ts\nvar SENSITIVE_STRING2 = \"***SensitiveInformation***\";\n\n// src/create-aggregated-client.ts\nvar createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) {\n const command2 = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command2, optionsOrCb);\n } else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\") throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command2, optionsOrCb || {}, cb);\n } else {\n return this.send(command2, optionsOrCb);\n }\n }, \"methodImpl\");\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client2.prototype[methodName] = methodImpl;\n }\n}, \"createAggregatedClient\");\n\n// src/exceptions.ts\nvar ServiceException = class _ServiceException extends Error {\n static {\n __name(this, \"ServiceException\");\n }\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n /**\n * Checks if a value is an instance of ServiceException (duck typed)\n */\n static isInstance(value) {\n if (!value) return false;\n const candidate = value;\n return _ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === \"client\" || candidate.$fault === \"server\");\n }\n /**\n * Custom instanceof check to support the operator for ServiceException base class\n */\n static [Symbol.hasInstance](instance) {\n if (!instance) return false;\n const candidate = instance;\n if (this === _ServiceException) {\n return _ServiceException.isInstance(instance);\n }\n if (_ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n};\nvar decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => {\n Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => {\n if (exception[k] == void 0 || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n}, \"decorateServiceException\");\n\n// src/default-error-handler.ts\nvar throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : void 0;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata\n });\n throw decorateServiceException(response, parsedBody);\n}, \"throwDefaultError\");\nvar withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n}, \"withBaseException\");\nvar deserializeMetadata = /* @__PURE__ */ __name((output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"]\n}), \"deserializeMetadata\");\n\n// src/defaults-mode.ts\nvar loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3e4\n };\n default:\n return {};\n }\n}, \"loadConfigsForDefaultMode\");\n\n// src/emitWarningIfUnsupportedVersion.ts\nvar warningEmitted = false;\nvar emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n}, \"emitWarningIfUnsupportedVersion\");\n\n// src/extended-encode-uri-component.ts\n\n\n// src/extensions/checksum.ts\n\nvar getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in import_types.AlgorithmId) {\n const algorithmId = import_types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === void 0) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => algorithmId, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig[algorithmId], \"checksumConstructor\")\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n }\n };\n}, \"getChecksumConfiguration\");\nvar resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n}, \"resolveChecksumRuntimeConfig\");\n\n// src/extensions/retry.ts\nvar getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n }\n };\n}, \"getRetryConfiguration\");\nvar resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n}, \"resolveRetryRuntimeConfig\");\n\n// src/extensions/defaultExtensionConfiguration.ts\nvar getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n}, \"getDefaultExtensionConfiguration\");\nvar getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nvar resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n}, \"resolveDefaultRuntimeConfig\");\n\n// src/get-array-if-single-item.ts\nvar getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], \"getArrayIfSingleItem\");\n\n// src/get-value-from-text-node.ts\nvar getValueFromTextNode = /* @__PURE__ */ __name((obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) {\n obj[key] = obj[key][textNodeName];\n } else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n}, \"getValueFromTextNode\");\n\n// src/is-serializable-header-value.ts\nvar isSerializableHeaderValue = /* @__PURE__ */ __name((value) => {\n return value != null;\n}, \"isSerializableHeaderValue\");\n\n// src/NoOpLogger.ts\nvar NoOpLogger = class {\n static {\n __name(this, \"NoOpLogger\");\n }\n trace() {\n }\n debug() {\n }\n info() {\n }\n warn() {\n }\n error() {\n }\n};\n\n// src/object-mapping.ts\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n } else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n } else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\n__name(map, \"map\");\nvar convertMap = /* @__PURE__ */ __name((target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n}, \"convertMap\");\nvar take = /* @__PURE__ */ __name((source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n}, \"take\");\nvar mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => {\n return map(\n target,\n Object.entries(instructions).reduce(\n (_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n } else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n } else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n },\n {}\n )\n );\n}, \"mapWithFilter\");\nvar applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if (typeof filter2 === \"function\" && filter2(source[sourceKey]) || typeof filter2 !== \"function\" && !!filter2) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === void 0 && (_value = value()) != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(void 0) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n } else if (customFilterPassed) {\n target[targetKey] = value();\n }\n } else {\n const defaultFilterPassed = filter === void 0 && value != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(value) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n}, \"applyInstruction\");\nvar nonNullish = /* @__PURE__ */ __name((_) => _ != null, \"nonNullish\");\nvar pass = /* @__PURE__ */ __name((_) => _, \"pass\");\n\n// src/resolve-path.ts\n\n\n// src/ser-utils.ts\nvar serializeFloat = /* @__PURE__ */ __name((value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n}, \"serializeFloat\");\nvar serializeDateTime = /* @__PURE__ */ __name((date) => date.toISOString().replace(\".000Z\", \"Z\"), \"serializeDateTime\");\n\n// src/serde-json.ts\nvar _json = /* @__PURE__ */ __name((obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n}, \"_json\");\n\n// src/index.ts\n__reExport(index_exports, require(\"@smithy/core/serde\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Client,\n collectBody,\n Command,\n SENSITIVE_STRING,\n createAggregatedClient,\n throwDefaultError,\n withBaseException,\n loadConfigsForDefaultMode,\n emitWarningIfUnsupportedVersion,\n ServiceException,\n decorateServiceException,\n extendedEncodeURIComponent,\n getDefaultExtensionConfiguration,\n getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig,\n getArrayIfSingleItem,\n getValueFromTextNode,\n isSerializableHeaderValue,\n NoOpLogger,\n convertMap,\n take,\n map,\n resolvedPath,\n serializeFloat,\n serializeDateTime,\n _json,\n LazyJsonString,\n NumericValue,\n copyDocumentWithTransform,\n dateToUtcString,\n expectBoolean,\n expectByte,\n expectFloat32,\n expectInt,\n expectInt32,\n expectLong,\n expectNonNull,\n expectNumber,\n expectObject,\n expectShort,\n expectString,\n expectUnion,\n generateIdempotencyToken,\n handleFloat,\n limitedParseDouble,\n limitedParseFloat,\n limitedParseFloat32,\n logger,\n nv,\n parseBoolean,\n parseEpochTimestamp,\n parseRfc3339DateTime,\n parseRfc3339DateTimeWithOffset,\n parseRfc7231DateTime,\n quoteHeader,\n splitEvery,\n splitHeader,\n strictParseByte,\n strictParseDouble,\n strictParseFloat,\n strictParseFloat32,\n strictParseInt,\n strictParseInt32,\n strictParseLong,\n strictParseShort\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n ALGORITHM_IDENTIFIER: () => ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A: () => ALGORITHM_IDENTIFIER_V4A,\n ALGORITHM_QUERY_PARAM: () => ALGORITHM_QUERY_PARAM,\n ALWAYS_UNSIGNABLE_HEADERS: () => ALWAYS_UNSIGNABLE_HEADERS,\n AMZ_DATE_HEADER: () => AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM: () => AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER: () => AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM: () => CREDENTIAL_QUERY_PARAM,\n DATE_HEADER: () => DATE_HEADER,\n EVENT_ALGORITHM_IDENTIFIER: () => EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM: () => EXPIRES_QUERY_PARAM,\n GENERATED_HEADERS: () => GENERATED_HEADERS,\n HOST_HEADER: () => HOST_HEADER,\n KEY_TYPE_IDENTIFIER: () => KEY_TYPE_IDENTIFIER,\n MAX_CACHE_SIZE: () => MAX_CACHE_SIZE,\n MAX_PRESIGNED_TTL: () => MAX_PRESIGNED_TTL,\n PROXY_HEADER_PATTERN: () => PROXY_HEADER_PATTERN,\n REGION_SET_PARAM: () => REGION_SET_PARAM,\n SEC_HEADER_PATTERN: () => SEC_HEADER_PATTERN,\n SHA256_HEADER: () => SHA256_HEADER,\n SIGNATURE_HEADER: () => SIGNATURE_HEADER,\n SIGNATURE_QUERY_PARAM: () => SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM: () => SIGNED_HEADERS_QUERY_PARAM,\n SignatureV4: () => SignatureV4,\n SignatureV4Base: () => SignatureV4Base,\n TOKEN_HEADER: () => TOKEN_HEADER,\n TOKEN_QUERY_PARAM: () => TOKEN_QUERY_PARAM,\n UNSIGNABLE_PATTERNS: () => UNSIGNABLE_PATTERNS,\n UNSIGNED_PAYLOAD: () => UNSIGNED_PAYLOAD,\n clearCredentialCache: () => clearCredentialCache,\n createScope: () => createScope,\n getCanonicalHeaders: () => getCanonicalHeaders,\n getCanonicalQuery: () => getCanonicalQuery,\n getPayloadHash: () => getPayloadHash,\n getSigningKey: () => getSigningKey,\n hasHeader: () => hasHeader,\n moveHeadersToQuery: () => moveHeadersToQuery,\n prepareRequest: () => prepareRequest,\n signatureV4aContainer: () => signatureV4aContainer\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/SignatureV4.ts\n\nvar import_util_utf85 = require(\"@smithy/util-utf8\");\n\n// src/constants.ts\nvar ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nvar CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nvar AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nvar SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nvar EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nvar SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nvar TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nvar REGION_SET_PARAM = \"X-Amz-Region-Set\";\nvar AUTH_HEADER = \"authorization\";\nvar AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nvar DATE_HEADER = \"date\";\nvar GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nvar SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nvar SHA256_HEADER = \"x-amz-content-sha256\";\nvar TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nvar HOST_HEADER = \"host\";\nvar ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true\n};\nvar PROXY_HEADER_PATTERN = /^proxy-/;\nvar SEC_HEADER_PATTERN = /^sec-/;\nvar UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nvar ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nvar ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nvar EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nvar UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nvar MAX_CACHE_SIZE = 50;\nvar KEY_TYPE_IDENTIFIER = \"aws4_request\";\nvar MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\n// src/credentialDerivation.ts\nvar import_util_hex_encoding = require(\"@smithy/util-hex-encoding\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nvar signingKeyCache = {};\nvar cacheQueue = [];\nvar createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, \"createScope\");\nvar getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${(0, import_util_hex_encoding.toHex)(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return signingKeyCache[cacheKey] = key;\n}, \"getSigningKey\");\nvar clearCredentialCache = /* @__PURE__ */ __name(() => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}, \"clearCredentialCache\");\nvar hmac = /* @__PURE__ */ __name((ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update((0, import_util_utf8.toUint8Array)(data));\n return hash.digest();\n}, \"hmac\");\n\n// src/getCanonicalHeaders.ts\nvar getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == void 0) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n}, \"getCanonicalHeaders\");\n\n// src/getPayloadHash.ts\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\n\nvar import_util_utf82 = require(\"@smithy/util-utf8\");\nvar getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == void 0) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || (0, import_is_array_buffer.isArrayBuffer)(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update((0, import_util_utf82.toUint8Array)(body));\n return (0, import_util_hex_encoding.toHex)(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n}, \"getPayloadHash\");\n\n// src/HeaderFormatter.ts\n\nvar import_util_utf83 = require(\"@smithy/util-utf8\");\nvar HeaderFormatter = class {\n static {\n __name(this, \"HeaderFormatter\");\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = (0, import_util_utf83.fromUtf8)(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 /* boolTrue */ : 1 /* boolFalse */]);\n case \"byte\":\n return Uint8Array.from([2 /* byte */, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3 /* short */);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4 /* integer */);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5 /* long */;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6 /* byteArray */);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = (0, import_util_utf83.fromUtf8)(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7 /* string */);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8 /* timestamp */;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9 /* uuid */;\n uuidBytes.set((0, import_util_hex_encoding.fromHex)(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n};\nvar UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nvar Int64 = class _Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static {\n __name(this, \"Int64\");\n }\n static fromNumber(number) {\n if (number > 9223372036854776e3 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new _Int64(bytes);\n }\n /**\n * Called implicitly by infix arithmetic operators.\n */\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 128;\n if (negative) {\n negate(bytes);\n }\n return parseInt((0, import_util_hex_encoding.toHex)(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n};\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 255;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0) break;\n }\n}\n__name(negate, \"negate\");\n\n// src/headerUtil.ts\nvar hasHeader = /* @__PURE__ */ __name((soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n}, \"hasHeader\");\n\n// src/moveHeadersToQuery.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar moveHeadersToQuery = /* @__PURE__ */ __name((request, options = {}) => {\n const { headers, query = {} } = import_protocol_http.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query\n };\n}, \"moveHeadersToQuery\");\n\n// src/prepareRequest.ts\n\nvar prepareRequest = /* @__PURE__ */ __name((request) => {\n request = import_protocol_http.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n}, \"prepareRequest\");\n\n// src/SignatureV4Base.ts\n\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\nvar import_util_utf84 = require(\"@smithy/util-utf8\");\n\n// src/getCanonicalQuery.ts\nvar import_util_uri_escape = require(\"@smithy/util-uri-escape\");\nvar getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = (0, import_util_uri_escape.escapeUri)(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value)}`;\n } else if (Array.isArray(value)) {\n serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value2)}`]), []).sort().join(\"&\");\n }\n }\n return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join(\"&\");\n}, \"getCanonicalQuery\");\n\n// src/utilDate.ts\nvar iso8601 = /* @__PURE__ */ __name((time) => toDate(time).toISOString().replace(/\\.\\d{3}Z$/, \"Z\"), \"iso8601\");\nvar toDate = /* @__PURE__ */ __name((time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1e3);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1e3);\n }\n return new Date(time);\n }\n return time;\n}, \"toDate\");\n\n// src/SignatureV4Base.ts\nvar SignatureV4Base = class {\n static {\n __name(this, \"SignatureV4Base\");\n }\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = (0, import_util_middleware.normalizeProvider)(region);\n this.credentialProvider = (0, import_util_middleware.normalizeProvider)(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update((0, import_util_utf84.toUint8Array)(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${(0, import_util_hex_encoding.toHex)(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0) continue;\n if (pathSegment === \".\") continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n } else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = (0, import_util_uri_escape.escapeUri)(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" || // @ts-expect-error: Property 'accessKeyId' does not exist on type 'object'.ts(2339)\n typeof credentials.accessKeyId !== \"string\" || // @ts-expect-error: Property 'secretAccessKey' does not exist on type 'object'.ts(2339)\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8)\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n};\n\n// src/SignatureV4.ts\nvar SignatureV4 = class extends SignatureV4Base {\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath\n });\n this.headerFormatter = new HeaderFormatter();\n }\n static {\n __name(this, \"SignatureV4\");\n }\n async presign(originalRequest, options = {}) {\n const {\n signingDate = /* @__PURE__ */ new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n hoistableHeaders,\n signingRegion,\n signingService\n } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs must have an expiration date less than one week in the future\"\n );\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else if (toSign.message) {\n return this.signMessage(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = (0, import_util_hex_encoding.toHex)(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) {\n const promise = this.signEvent(\n {\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body\n },\n {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature\n }\n );\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n async signRequest(requestToSign, {\n signingDate = /* @__PURE__ */ new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService\n } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(\n longDate,\n credentialScope,\n canonicalRequest,\n ALGORITHM_IDENTIFIER\n );\n const hash = new this.sha256(await keyPromise);\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n};\n\n// src/signature-v4a-container.ts\nvar signatureV4aContainer = {\n SignatureV4a: null\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getCanonicalHeaders,\n getCanonicalQuery,\n getPayloadHash,\n moveHeadersToQuery,\n prepareRequest,\n SignatureV4Base,\n hasHeader,\n SignatureV4,\n ALGORITHM_QUERY_PARAM,\n CREDENTIAL_QUERY_PARAM,\n AMZ_DATE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n EXPIRES_QUERY_PARAM,\n SIGNATURE_QUERY_PARAM,\n TOKEN_QUERY_PARAM,\n REGION_SET_PARAM,\n AUTH_HEADER,\n AMZ_DATE_HEADER,\n DATE_HEADER,\n GENERATED_HEADERS,\n SIGNATURE_HEADER,\n SHA256_HEADER,\n TOKEN_HEADER,\n HOST_HEADER,\n ALWAYS_UNSIGNABLE_HEADERS,\n PROXY_HEADER_PATTERN,\n SEC_HEADER_PATTERN,\n UNSIGNABLE_PATTERNS,\n ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A,\n EVENT_ALGORITHM_IDENTIFIER,\n UNSIGNED_PAYLOAD,\n MAX_CACHE_SIZE,\n KEY_TYPE_IDENTIFIER,\n MAX_PRESIGNED_TTL,\n createScope,\n getSigningKey,\n clearCredentialCache,\n signatureV4aContainer\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n SelectorType: () => SelectorType,\n booleanSelector: () => booleanSelector,\n numberSelector: () => numberSelector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/booleanSelector.ts\nvar booleanSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj)) return void 0;\n if (obj[key] === \"true\") return true;\n if (obj[key] === \"false\") return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n}, \"booleanSelector\");\n\n// src/numberSelector.ts\nvar numberSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj)) return void 0;\n const numberValue = parseInt(obj[key], 10);\n if (Number.isNaN(numberValue)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);\n }\n return numberValue;\n}, \"numberSelector\");\n\n// src/types.ts\nvar SelectorType = /* @__PURE__ */ ((SelectorType2) => {\n SelectorType2[\"ENV\"] = \"env\";\n SelectorType2[\"CONFIG\"] = \"shared config entry\";\n return SelectorType2;\n})(SelectorType || {});\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n booleanSelector,\n numberSelector,\n SelectorType\n});\n\n", "export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 18) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js 16.x on January 6, 2025.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/74kJMmI`);\n }\n};\n", "export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n", "export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n", "export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n", "export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n", "export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n", "import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n", "import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n", "export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n", "export const getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n", "export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n", "import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n", "import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n resolvedCredentials = async (options) => boundProvider(options).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_CODE\", \"e\"));\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n", "export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n", "export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n", "export const majorUint64 = 0;\nexport const majorNegativeInt64 = 1;\nexport const majorUnstructuredByteString = 2;\nexport const majorUtf8String = 3;\nexport const majorList = 4;\nexport const majorMap = 5;\nexport const majorTag = 6;\nexport const majorSpecial = 7;\nexport const specialFalse = 20;\nexport const specialTrue = 21;\nexport const specialNull = 22;\nexport const specialUndefined = 23;\nexport const extendedOneByte = 24;\nexport const extendedFloat16 = 25;\nexport const extendedFloat32 = 26;\nexport const extendedFloat64 = 27;\nexport const minorIndefinite = 31;\nexport function alloc(size) {\n return typeof Buffer !== \"undefined\" ? Buffer.alloc(size) : new Uint8Array(size);\n}\nexport const tagSymbol = Symbol(\"@smithy/core/cbor::tagSymbol\");\nexport function tag(data) {\n data[tagSymbol] = true;\n return data;\n}\n", "import { nv } from \"@smithy/core/serde\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, extendedOneByte, majorList, majorMap, majorNegativeInt64, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, minorIndefinite, specialFalse, specialNull, specialTrue, specialUndefined, tag, } from \"./cbor-types\";\nconst USE_TEXT_DECODER = typeof TextDecoder !== \"undefined\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nlet payload = alloc(0);\nlet dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\nconst textDecoder = USE_TEXT_DECODER ? new TextDecoder() : null;\nlet _offset = 0;\nexport function setPayload(bytes) {\n payload = bytes;\n dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\n}\nexport function decode(at, to) {\n if (at >= to) {\n throw new Error(\"unexpected end of (decode) payload.\");\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n switch (major) {\n case majorUint64:\n case majorNegativeInt64:\n case majorTag:\n let unsignedInt;\n let offset;\n if (minor < 24) {\n unsignedInt = minor;\n offset = 1;\n }\n else {\n switch (minor) {\n case extendedOneByte:\n case extendedFloat16:\n case extendedFloat32:\n case extendedFloat64:\n const countLength = minorValueToArgumentLength[minor];\n const countOffset = (countLength + 1);\n offset = countOffset;\n if (to - at < countOffset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n unsignedInt = payload[countIndex];\n }\n else if (countLength === 2) {\n unsignedInt = dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n unsignedInt = dataView.getUint32(countIndex);\n }\n else {\n unsignedInt = dataView.getBigUint64(countIndex);\n }\n break;\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n }\n if (major === majorUint64) {\n _offset = offset;\n return castBigInt(unsignedInt);\n }\n else if (major === majorNegativeInt64) {\n let negativeInt;\n if (typeof unsignedInt === \"bigint\") {\n negativeInt = BigInt(-1) - unsignedInt;\n }\n else {\n negativeInt = -1 - unsignedInt;\n }\n _offset = offset;\n return castBigInt(negativeInt);\n }\n else {\n if (minor === 2 || minor === 3) {\n const length = decodeCount(at + offset, to);\n let b = BigInt(0);\n const start = at + offset + _offset;\n for (let i = start; i < start + length; ++i) {\n b = (b << BigInt(8)) | BigInt(payload[i]);\n }\n _offset = offset + _offset + length;\n return minor === 3 ? -b - BigInt(1) : b;\n }\n else if (minor === 4) {\n const decimalFraction = decode(at + offset, to);\n const [exponent, mantissa] = decimalFraction;\n const normalizer = mantissa < 0 ? -1 : 1;\n const mantissaStr = \"0\".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));\n let numericString;\n const sign = mantissa < 0 ? \"-\" : \"\";\n numericString =\n exponent === 0\n ? mantissaStr\n : mantissaStr.slice(0, mantissaStr.length + exponent) + \".\" + mantissaStr.slice(exponent);\n numericString = numericString.replace(/^0+/g, \"\");\n if (numericString === \"\") {\n numericString = \"0\";\n }\n if (numericString[0] === \".\") {\n numericString = \"0\" + numericString;\n }\n numericString = sign + numericString;\n _offset = offset + _offset;\n return nv(numericString);\n }\n else {\n const value = decode(at + offset, to);\n const valueOffset = _offset;\n _offset = offset + valueOffset;\n return tag({ tag: castBigInt(unsignedInt), value });\n }\n }\n case majorUtf8String:\n case majorMap:\n case majorList:\n case majorUnstructuredByteString:\n if (minor === minorIndefinite) {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8StringIndefinite(at, to);\n case majorMap:\n return decodeMapIndefinite(at, to);\n case majorList:\n return decodeListIndefinite(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteStringIndefinite(at, to);\n }\n }\n else {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8String(at, to);\n case majorMap:\n return decodeMap(at, to);\n case majorList:\n return decodeList(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteString(at, to);\n }\n }\n default:\n return decodeSpecial(at, to);\n }\n}\nfunction bytesToUtf8(bytes, at, to) {\n if (USE_BUFFER && bytes.constructor?.name === \"Buffer\") {\n return bytes.toString(\"utf-8\", at, to);\n }\n if (textDecoder) {\n return textDecoder.decode(bytes.subarray(at, to));\n }\n return toUtf8(bytes.subarray(at, to));\n}\nfunction demote(bigInteger) {\n const num = Number(bigInteger);\n if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {\n console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));\n }\n return num;\n}\nconst minorValueToArgumentLength = {\n [extendedOneByte]: 1,\n [extendedFloat16]: 2,\n [extendedFloat32]: 4,\n [extendedFloat64]: 8,\n};\nexport function bytesToFloat16(a, b) {\n const sign = a >> 7;\n const exponent = (a & 124) >> 2;\n const fraction = ((a & 3) << 8) | b;\n const scalar = sign === 0 ? 1 : -1;\n let exponentComponent;\n let summation;\n if (exponent === 0b00000) {\n if (fraction === 0) {\n return 0;\n }\n else {\n exponentComponent = Math.pow(2, 1 - 15);\n summation = 0;\n }\n }\n else if (exponent === 0b11111) {\n if (fraction === 0) {\n return scalar * Infinity;\n }\n else {\n return NaN;\n }\n }\n else {\n exponentComponent = Math.pow(2, exponent - 15);\n summation = 1;\n }\n summation += fraction / 1024;\n return scalar * (exponentComponent * summation);\n}\nfunction decodeCount(at, to) {\n const minor = payload[at] & 31;\n if (minor < 24) {\n _offset = 1;\n return minor;\n }\n if (minor === extendedOneByte ||\n minor === extendedFloat16 ||\n minor === extendedFloat32 ||\n minor === extendedFloat64) {\n const countLength = minorValueToArgumentLength[minor];\n _offset = (countLength + 1);\n if (to - at < _offset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n return payload[countIndex];\n }\n else if (countLength === 2) {\n return dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n return dataView.getUint32(countIndex);\n }\n return demote(dataView.getBigUint64(countIndex));\n }\n throw new Error(`unexpected minor value ${minor}.`);\n}\nfunction decodeUtf8String(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`string len ${length} greater than remaining buf len.`);\n }\n const value = bytesToUtf8(payload, at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUtf8StringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return bytesToUtf8(data, 0, data.length);\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeUnstructuredByteString(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);\n }\n const value = payload.subarray(at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUnstructuredByteStringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return data;\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n if (major !== majorUnstructuredByteString) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeList(at, to) {\n const listDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const list = Array(listDataLength);\n for (let i = 0; i < listDataLength; ++i) {\n const item = decode(at, to);\n const itemOffset = _offset;\n list[i] = item;\n at += itemOffset;\n }\n _offset = offset + (at - base);\n return list;\n}\nfunction decodeListIndefinite(at, to) {\n at += 1;\n const list = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n _offset = at - base + 2;\n return list;\n }\n const item = decode(at, to);\n const n = _offset;\n at += n;\n list.push(item);\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeMap(at, to) {\n const mapDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const map = {};\n for (let i = 0; i < mapDataLength; ++i) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n const major = (payload[at] & 224) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key at index ${at}.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n _offset = offset + (at - base);\n return map;\n}\nfunction decodeMapIndefinite(at, to) {\n at += 1;\n const base = at;\n const map = {};\n for (; at < to;) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n if (payload[at] === 255) {\n _offset = at - base + 2;\n return map;\n }\n const major = (payload[at] & 224) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeSpecial(at, to) {\n const minor = payload[at] & 31;\n switch (minor) {\n case specialTrue:\n case specialFalse:\n _offset = 1;\n return minor === specialTrue;\n case specialNull:\n _offset = 1;\n return null;\n case specialUndefined:\n _offset = 1;\n return null;\n case extendedFloat16:\n if (to - at < 3) {\n throw new Error(\"incomplete float16 at end of buf.\");\n }\n _offset = 3;\n return bytesToFloat16(payload[at + 1], payload[at + 2]);\n case extendedFloat32:\n if (to - at < 5) {\n throw new Error(\"incomplete float32 at end of buf.\");\n }\n _offset = 5;\n return dataView.getFloat32(at + 1);\n case extendedFloat64:\n if (to - at < 9) {\n throw new Error(\"incomplete float64 at end of buf.\");\n }\n _offset = 9;\n return dataView.getFloat64(at + 1);\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n}\nfunction castBigInt(bigInt) {\n if (typeof bigInt === \"number\") {\n return bigInt;\n }\n const num = Number(bigInt);\n if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {\n return num;\n }\n return bigInt;\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, majorList, majorMap, majorNegativeInt64, majorSpecial, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, specialFalse, specialNull, specialTrue, tagSymbol, } from \"./cbor-types\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nconst initialSize = 2048;\nlet data = alloc(initialSize);\nlet dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\nlet cursor = 0;\nfunction ensureSpace(bytes) {\n const remaining = data.byteLength - cursor;\n if (remaining < bytes) {\n if (cursor < 16000000) {\n resize(Math.max(data.byteLength * 4, data.byteLength + bytes));\n }\n else {\n resize(data.byteLength + bytes + 16000000);\n }\n }\n}\nexport function toUint8Array() {\n const out = alloc(cursor);\n out.set(data.subarray(0, cursor), 0);\n cursor = 0;\n return out;\n}\nexport function resize(size) {\n const old = data;\n data = alloc(size);\n if (old) {\n if (old.copy) {\n old.copy(data, 0, 0, old.byteLength);\n }\n else {\n data.set(old, 0);\n }\n }\n dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n}\nfunction encodeHeader(major, value) {\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 1 << 8) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 1 << 16) {\n data[cursor++] = (major << 5) | extendedFloat16;\n dataView.setUint16(cursor, value);\n cursor += 2;\n }\n else if (value < 2 ** 32) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, typeof value === \"bigint\" ? value : BigInt(value));\n cursor += 8;\n }\n}\nexport function encode(_input) {\n const encodeStack = [_input];\n while (encodeStack.length) {\n const input = encodeStack.pop();\n ensureSpace(typeof input === \"string\" ? input.length * 4 : 64);\n if (typeof input === \"string\") {\n if (USE_BUFFER) {\n encodeHeader(majorUtf8String, Buffer.byteLength(input));\n cursor += data.write(input, cursor);\n }\n else {\n const bytes = fromUtf8(input);\n encodeHeader(majorUtf8String, bytes.byteLength);\n data.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n continue;\n }\n else if (typeof input === \"number\") {\n if (Number.isInteger(input)) {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - 1;\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = value >> 8;\n data[cursor++] = value;\n }\n else if (value < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, BigInt(value));\n cursor += 8;\n }\n continue;\n }\n data[cursor++] = (majorSpecial << 5) | extendedFloat64;\n dataView.setFloat64(cursor, input);\n cursor += 8;\n continue;\n }\n else if (typeof input === \"bigint\") {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - BigInt(1);\n const n = Number(value);\n if (n < 24) {\n data[cursor++] = (major << 5) | n;\n }\n else if (n < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = n;\n }\n else if (n < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = n >> 8;\n data[cursor++] = n & 255;\n }\n else if (n < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, n);\n cursor += 4;\n }\n else if (value < BigInt(\"18446744073709551616\")) {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, value);\n cursor += 8;\n }\n else {\n const binaryBigInt = value.toString(2);\n const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));\n let b = value;\n let i = 0;\n while (bigIntBytes.byteLength - ++i >= 0) {\n bigIntBytes[bigIntBytes.byteLength - i] = Number(b & BigInt(255));\n b >>= BigInt(8);\n }\n ensureSpace(bigIntBytes.byteLength * 2);\n data[cursor++] = nonNegative ? 194 : 195;\n if (USE_BUFFER) {\n encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));\n }\n else {\n encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);\n }\n data.set(bigIntBytes, cursor);\n cursor += bigIntBytes.byteLength;\n }\n continue;\n }\n else if (input === null) {\n data[cursor++] = (majorSpecial << 5) | specialNull;\n continue;\n }\n else if (typeof input === \"boolean\") {\n data[cursor++] = (majorSpecial << 5) | (input ? specialTrue : specialFalse);\n continue;\n }\n else if (typeof input === \"undefined\") {\n throw new Error(\"@smithy/core/cbor: client may not serialize undefined value.\");\n }\n else if (Array.isArray(input)) {\n for (let i = input.length - 1; i >= 0; --i) {\n encodeStack.push(input[i]);\n }\n encodeHeader(majorList, input.length);\n continue;\n }\n else if (typeof input.byteLength === \"number\") {\n ensureSpace(input.length * 2);\n encodeHeader(majorUnstructuredByteString, input.length);\n data.set(input, cursor);\n cursor += input.byteLength;\n continue;\n }\n else if (typeof input === \"object\") {\n if (input instanceof NumericValue) {\n const decimalIndex = input.string.indexOf(\".\");\n const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;\n const mantissa = BigInt(input.string.replace(\".\", \"\"));\n data[cursor++] = 196;\n encodeStack.push(mantissa);\n encodeStack.push(exponent);\n encodeHeader(majorList, 2);\n continue;\n }\n if (input[tagSymbol]) {\n if (\"tag\" in input && \"value\" in input) {\n encodeStack.push(input.value);\n encodeHeader(majorTag, input.tag);\n continue;\n }\n else {\n throw new Error(\"tag encountered with missing fields, need 'tag' and 'value', found: \" + JSON.stringify(input));\n }\n }\n const keys = Object.keys(input);\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n encodeStack.push(input[key]);\n encodeStack.push(key);\n }\n encodeHeader(majorMap, keys.length);\n continue;\n }\n throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);\n }\n}\n", "import { decode, setPayload } from \"./cbor-decode\";\nimport { encode, resize, toUint8Array } from \"./cbor-encode\";\nexport const cbor = {\n deserialize(payload) {\n setPayload(payload);\n return decode(0, payload.length);\n },\n serialize(input) {\n try {\n encode(input);\n return toUint8Array();\n }\n catch (e) {\n toUint8Array();\n throw e;\n }\n },\n resizeEncodingBuffer(size) {\n resize(size);\n },\n};\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n calculateBodyLength: () => calculateBodyLength\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/calculateBodyLength.ts\nvar TEXT_ENCODER = typeof TextEncoder == \"function\" ? new TextEncoder() : null;\nvar calculateBodyLength = /* @__PURE__ */ __name((body) => {\n if (typeof body === \"string\") {\n if (TEXT_ENCODER) {\n return TEXT_ENCODER.encode(body).byteLength;\n }\n let len = body.length;\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 127 && code <= 2047) len++;\n else if (code > 2047 && code <= 65535) len += 2;\n if (code >= 56320 && code <= 57343) i--;\n }\n return len;\n } else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n } else if (typeof body.size === \"number\") {\n return body.size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n}, \"calculateBodyLength\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n calculateBodyLength\n});\n\n", "import { collectBody } from \"@smithy/core/protocols\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { cbor } from \"./cbor\";\nimport { tag } from \"./cbor-types\";\nexport const parseCborBody = (streamBody, context) => {\n return collectBody(streamBody, context).then(async (bytes) => {\n if (bytes.length) {\n try {\n return cbor.deserialize(bytes);\n }\n catch (e) {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: context.utf8Encoder(bytes),\n });\n throw e;\n }\n }\n return {};\n });\n};\nexport const dateToTag = (date) => {\n return tag({\n tag: 1,\n value: date.getTime() / 1000,\n });\n};\nexport const parseCborErrorBody = async (errorBody, context) => {\n const value = await parseCborBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadSmithyRpcV2CborErrorCode = (output, data) => {\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n const codeKey = Object.keys(data).find((key) => key.toLowerCase() === \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n};\nexport const checkCborResponse = (response) => {\n if (String(response.headers[\"smithy-protocol\"]).toLowerCase() !== \"rpc-v2-cbor\") {\n throw new Error(\"Malformed RPCv2 CBOR response, status: \" + response.statusCode);\n }\n};\nexport const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers: {\n ...headers,\n },\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n try {\n contents.headers[\"content-length\"] = String(calculateBodyLength(body));\n }\n catch (e) { }\n }\n return new __HttpRequest(contents);\n};\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, parseEpochTimestamp } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { cbor } from \"./cbor\";\nimport { dateToTag } from \"./parseCborBody\";\nexport class CborCodec {\n createSerializer() {\n const serializer = new CborShapeSerializer();\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new CborShapeDeserializer();\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\nexport class CborShapeSerializer {\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n write(schema, value) {\n this.value = this.serialize(schema, value);\n }\n serialize(schema, source) {\n const ns = NormalizedSchema.of(schema);\n if (source == null) {\n if (ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n return source;\n }\n if (ns.isBlobSchema()) {\n if (typeof source === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(source);\n }\n return source;\n }\n if (ns.isTimestampSchema()) {\n if (typeof source === \"number\" || typeof source === \"bigint\") {\n return dateToTag(new Date((Number(source) / 1000) | 0));\n }\n return dateToTag(source);\n }\n if (typeof source === \"function\" || typeof source === \"object\") {\n const sourceObject = source;\n if (ns.isListSchema() && Array.isArray(sourceObject)) {\n const sparse = !!ns.getMergedTraits().sparse;\n const newArray = [];\n let i = 0;\n for (const item of sourceObject) {\n const value = this.serialize(ns.getValueSchema(), item);\n if (value != null || sparse) {\n newArray[i++] = value;\n }\n }\n return newArray;\n }\n if (sourceObject instanceof Date) {\n return dateToTag(sourceObject);\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n for (const key of Object.keys(sourceObject)) {\n const value = this.serialize(ns.getValueSchema(), sourceObject[key]);\n if (value != null || sparse) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n const value = this.serialize(memberSchema, sourceObject[key]);\n if (value != null) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n for (const key of Object.keys(sourceObject)) {\n newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);\n }\n }\n return newObject;\n }\n return source;\n }\n flush() {\n const buffer = cbor.serialize(this.value);\n this.value = undefined;\n return buffer;\n }\n}\nexport class CborShapeDeserializer {\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n read(schema, bytes) {\n const data = cbor.deserialize(bytes);\n return this.readValue(schema, data);\n }\n readValue(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isTimestampSchema() && typeof value === \"number\") {\n return parseEpochTimestamp(value);\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n return value;\n }\n if (typeof value === \"undefined\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n typeof value === \"bigint\" ||\n typeof value === \"symbol\") {\n return value;\n }\n else if (typeof value === \"function\" || typeof value === \"object\") {\n if (value === null) {\n return null;\n }\n if (\"byteLength\" in value) {\n return value;\n }\n if (value instanceof Date) {\n return value;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n if (ns.isListSchema()) {\n const newArray = [];\n const memberSchema = ns.getValueSchema();\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n const itemValue = this.readValue(memberSchema, item);\n if (itemValue != null || sparse) {\n newArray.push(itemValue);\n }\n }\n return newArray;\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const targetSchema = ns.getValueSchema();\n for (const key of Object.keys(value)) {\n const itemValue = this.readValue(targetSchema, value[key]);\n if (itemValue != null || sparse) {\n newObject[key] = itemValue;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n newObject[key] = this.readValue(memberSchema, value[key]);\n }\n }\n return newObject;\n }\n else {\n return value;\n }\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { CborCodec } from \"./CborCodec\";\nimport { loadSmithyRpcV2CborErrorCode } from \"./parseCborBody\";\nexport class SmithyRpcV2CborProtocol extends RpcProtocol {\n constructor({ defaultNamespace }) {\n super({ defaultNamespace });\n this.codec = new CborCodec();\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n }\n getShapeId() {\n return \"smithy.protocols#rpcv2Cbor\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n Object.assign(request.headers, {\n \"content-type\": this.getDefaultContentType(),\n \"smithy-protocol\": \"rpc-v2-cbor\",\n accept: this.getDefaultContentType(),\n });\n if (deref(operationSchema.input) === \"unit\") {\n delete request.body;\n delete request.headers[\"content-type\"];\n }\n else {\n if (!request.body) {\n this.serializer.write(15, {});\n request.body = this.serializer.flush();\n }\n try {\n request.headers[\"content-length\"] = String(request.body.byteLength);\n }\n catch (e) { }\n }\n const { service, operation } = getSmithyContext(context);\n const path = `/service/${service}/operation/${operation}`;\n if (request.path.endsWith(\"/\")) {\n request.path += path.slice(1);\n }\n else {\n request.path += path;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n let namespace = this.options.defaultNamespace;\n if (errorName.includes(\"#\")) {\n [namespace] = errorName.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $response: response,\n $fault: response.statusCode <= 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n let errorSchema;\n try {\n errorSchema = registry.getSchema(errorName);\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const baseExceptionSchema = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace).getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = baseExceptionSchema.ctor;\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/cbor\";\n }\n}\n", "export { cbor } from \"./cbor\";\nexport { tag, tagSymbol } from \"./cbor-types\";\nexport * from \"./parseCborBody\";\nexport * from \"./SmithyRpcV2CborProtocol\";\nexport * from \"./CborCodec\";\n", "import { TypeRegistry } from \"@smithy/core/schema\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nexport class ProtocolLib {\n calculateContentLength(body, serdeContext) {\n const bodyLengthCalculator = serdeContext?.bodyLengthChecker ?? calculateBodyLength;\n return String(bodyLengthCalculator(body));\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $response: response,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const baseExceptionSchema = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace).getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = baseExceptionSchema.ctor;\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n}\n", "import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n}\n", "export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n", "export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nexport function jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n", "import { collectBody } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));\n", "import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (ns.isListSchema() && Array.isArray(value)) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._read(listMember, item));\n }\n }\n return out;\n }\n else if (ns.isMapSchema() && isObject) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._read(mapMember, _v);\n }\n }\n return out;\n }\n else if (ns.isStructSchema() && isObject) {\n const out = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const fromKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;\n const deserializedValue = this._read(memberSchema, value[fromKey]);\n if (deserializedValue != null) {\n out[memberName] = deserializedValue;\n }\n }\n return out;\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return parseRfc3339DateTimeWithOffset(value);\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return parseRfc7231DateTime(value);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nexport class JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema } = this;\n this.rootSchema = undefined;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (ns.isListSchema() && Array.isArray(value)) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n else if (ns.isMapSchema() && isObject) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n else if (ns.isStructSchema() && isObject) {\n const out = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;\n const serializableValue = this._write(memberSchema, value[memberName], ns);\n if (serializableValue !== undefined) {\n out[targetKey] = serializableValue;\n }\n }\n return out;\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if ((ns.isBlobSchema() && (value instanceof Uint8Array || typeof value === \"string\")) ||\n (ns.isDocumentSchema() && value instanceof Uint8Array)) {\n if (ns === this.rootSchema) {\n return value;\n }\n if (!this.serdeContext?.base64Encoder) {\n return toBase64(value);\n }\n return this.serdeContext?.base64Encoder(value);\n }\n if ((ns.isTimestampSchema() || ns.isDocumentSchema()) && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return dateToUtcString(value);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (ns.isNumericSchema() && typeof value === \"number\") {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin = new ProtocolLib();\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec = new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_EPOCH_SECONDS,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${NormalizedSchema.of(operationSchema).getName()}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_EPOCH_SECONDS,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.headers[\"content-type\"] && !request.body) {\n request.body = \"{}\";\n }\n if (request.body) {\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n", "import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n", "'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nexport const nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*';\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nexport function getAllMatches(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n}\n\nexport const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n}\n\nexport function isExist(v) {\n return typeof v !== 'undefined';\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexport function merge(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n}\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexport function getValue(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n}\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};", "'use strict';\n\nimport {getAllMatches, isName} from './util.js';\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexport function validate(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n", "\nexport const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n captureMetaData: false,\n};\n \nexport const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n", "'use strict';\n\nlet METADATA_SYMBOL;\n\nif (typeof Symbol !== \"function\") {\n METADATA_SYMBOL = \"@@xmlMetadata\";\n} else {\n METADATA_SYMBOL = Symbol(\"XML Node Metadata\");\n}\n\nexport default class XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node, startIndex) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n // if requested, add the startIndex\n if (startIndex !== undefined) {\n // Note: for now we just overwrite the metadata. If we had more complex metadata,\n // we might need to do an object append here: metadata = { ...metadata, startIndex }\n this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex };\n }\n }\n /** symbol used for metadata */\n static getMetaDataSymbol() {\n return METADATA_SYMBOL;\n }\n}\n", "import {isName} from '../util.js';\n\n//TODO: handle comments\nexport default function readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && hasSeq(xmlData, \"!ENTITY\",i)){\n i += 7; \n let entityName, val;\n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ entityName ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && hasSeq(xmlData, \"!ELEMENT\",i)) {\n i += 8;//Not supported\n const {index} = readElementExp(xmlData,i+1);\n i = index;\n }else if( hasBody && hasSeq(xmlData, \"!ATTLIST\",i)){\n i += 8;//Not supported\n // const {index} = readAttlistExp(xmlData,i+1);\n // i = index;\n }else if( hasBody && hasSeq(xmlData, \"!NOTATION\",i)) {\n i += 9;//Not supported\n const {index} = readNotationExp(xmlData,i+1);\n i = index;\n }else if( hasSeq(xmlData, \"!--\",i) ) comment = true;\n else throw new Error(`Invalid DOCTYPE`);\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst skipWhitespace = (data, index) => {\n while (index < data.length && /\\s/.test(data[index])) {\n index++;\n }\n return index;\n};\n\nfunction readEntityExp(xmlData, i) { \n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n\n // Skip leading whitespace after <!ENTITY\n i = skipWhitespace(xmlData, i);\n\n // Read entity name\n let entityName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i]) && xmlData[i] !== '\"' && xmlData[i] !== \"'\") {\n entityName += xmlData[i];\n i++;\n }\n validateEntityName(entityName);\n\n // Skip whitespace after entity name\n i = skipWhitespace(xmlData, i);\n\n // Check for unsupported constructs (external entities or parameter entities)\n if (xmlData.substring(i, i + 6).toUpperCase() === \"SYSTEM\") {\n throw new Error(\"External entities are not supported\");\n }else if (xmlData[i] === \"%\") {\n throw new Error(\"Parameter entities are not supported\");\n }\n\n // Read entity value (internal entity)\n let entityValue = \"\";\n [i, entityValue] = readIdentifierVal(xmlData, i, \"entity\");\n i--;\n return [entityName, entityValue, i ];\n}\n\nfunction readNotationExp(xmlData, i) {\n // Skip leading whitespace after <!NOTATION\n i = skipWhitespace(xmlData, i);\n\n // Read notation name\n let notationName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n notationName += xmlData[i];\n i++;\n }\n validateEntityName(notationName);\n\n // Skip whitespace after notation name\n i = skipWhitespace(xmlData, i);\n\n // Check identifier type (SYSTEM or PUBLIC)\n const identifierType = xmlData.substring(i, i + 6).toUpperCase();\n if (identifierType !== \"SYSTEM\" && identifierType !== \"PUBLIC\") {\n throw new Error(`Expected SYSTEM or PUBLIC, found \"${identifierType}\"`);\n }\n i += identifierType.length;\n\n // Skip whitespace after identifier type\n i = skipWhitespace(xmlData, i);\n\n // Read public identifier (if PUBLIC)\n let publicIdentifier = null;\n let systemIdentifier = null;\n\n if (identifierType === \"PUBLIC\") {\n [i, publicIdentifier ] = readIdentifierVal(xmlData, i, \"publicIdentifier\");\n\n // Skip whitespace after public identifier\n i = skipWhitespace(xmlData, i);\n\n // Optionally read system identifier\n if (xmlData[i] === '\"' || xmlData[i] === \"'\") {\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i,\"systemIdentifier\");\n }\n } else if (identifierType === \"SYSTEM\") {\n // Read system identifier (mandatory for SYSTEM)\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i, \"systemIdentifier\");\n\n if (!systemIdentifier) {\n throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");\n }\n }\n \n return {notationName, publicIdentifier, systemIdentifier, index: --i};\n}\n\nfunction readIdentifierVal(xmlData, i, type) {\n let identifierVal = \"\";\n const startChar = xmlData[i];\n if (startChar !== '\"' && startChar !== \"'\") {\n throw new Error(`Expected quoted string, found \"${startChar}\"`);\n }\n i++;\n\n while (i < xmlData.length && xmlData[i] !== startChar) {\n identifierVal += xmlData[i];\n i++;\n }\n\n if (xmlData[i] !== startChar) {\n throw new Error(`Unterminated ${type} value`);\n }\n i++;\n return [i, identifierVal];\n}\n\nfunction readElementExp(xmlData, i) {\n // <!ELEMENT br EMPTY>\n // <!ELEMENT div ANY>\n // <!ELEMENT title (#PCDATA)>\n // <!ELEMENT book (title, author+)>\n // <!ELEMENT name (content-model)>\n \n // Skip leading whitespace after <!ELEMENT\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n if (!validateEntityName(elementName)) {\n throw new Error(`Invalid element name: \"${elementName}\"`);\n }\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n let contentModel = \"\";\n // Expect '(' to start content model\n if(xmlData[i] === \"E\" && hasSeq(xmlData, \"MPTY\",i)) i+=4;\n else if(xmlData[i] === \"A\" && hasSeq(xmlData, \"NY\",i)) i+=2;\n else if (xmlData[i] === \"(\") {\n i++; // Move past '('\n\n // Read content model\n while (i < xmlData.length && xmlData[i] !== \")\") {\n contentModel += xmlData[i];\n i++;\n }\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated content model\");\n }\n\n }else{\n throw new Error(`Invalid Element Expression, found \"${xmlData[i]}\"`);\n }\n \n return {\n elementName,\n contentModel: contentModel.trim(),\n index: i\n };\n}\n\nfunction readAttlistExp(xmlData, i) {\n // Skip leading whitespace after <!ATTLIST\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n validateEntityName(elementName)\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute name\n let attributeName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeName += xmlData[i];\n i++;\n }\n\n // Validate attribute name\n if (!validateEntityName(attributeName)) {\n throw new Error(`Invalid attribute name: \"${attributeName}\"`);\n }\n\n // Skip whitespace after attribute name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute type\n let attributeType = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"NOTATION\") {\n attributeType = \"NOTATION\";\n i += 8; // Move past \"NOTATION\"\n\n // Skip whitespace after \"NOTATION\"\n i = skipWhitespace(xmlData, i);\n\n // Expect '(' to start the list of notations\n if (xmlData[i] !== \"(\") {\n throw new Error(`Expected '(', found \"${xmlData[i]}\"`);\n }\n i++; // Move past '('\n\n // Read the list of allowed notations\n let allowedNotations = [];\n while (i < xmlData.length && xmlData[i] !== \")\") {\n let notation = \"\";\n while (i < xmlData.length && xmlData[i] !== \"|\" && xmlData[i] !== \")\") {\n notation += xmlData[i];\n i++;\n }\n\n // Validate notation name\n notation = notation.trim();\n if (!validateEntityName(notation)) {\n throw new Error(`Invalid notation name: \"${notation}\"`);\n }\n\n allowedNotations.push(notation);\n\n // Skip '|' separator or exit loop\n if (xmlData[i] === \"|\") {\n i++; // Move past '|'\n i = skipWhitespace(xmlData, i); // Skip optional whitespace after '|'\n }\n }\n\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated list of notations\");\n }\n i++; // Move past ')'\n\n // Store the allowed notations as part of the attribute type\n attributeType += \" (\" + allowedNotations.join(\"|\") + \")\";\n } else {\n // Handle simple types (e.g., CDATA, ID, IDREF, etc.)\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeType += xmlData[i];\n i++;\n }\n\n // Validate simple attribute type\n const validTypes = [\"CDATA\", \"ID\", \"IDREF\", \"IDREFS\", \"ENTITY\", \"ENTITIES\", \"NMTOKEN\", \"NMTOKENS\"];\n if (!validTypes.includes(attributeType.toUpperCase())) {\n throw new Error(`Invalid attribute type: \"${attributeType}\"`);\n }\n }\n\n // Skip whitespace after attribute type\n i = skipWhitespace(xmlData, i);\n\n // Read default value\n let defaultValue = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"#REQUIRED\") {\n defaultValue = \"#REQUIRED\";\n i += 8;\n } else if (xmlData.substring(i, i + 7).toUpperCase() === \"#IMPLIED\") {\n defaultValue = \"#IMPLIED\";\n i += 7;\n } else {\n [i, defaultValue] = readIdentifierVal(xmlData, i, \"ATTLIST\");\n }\n\n return {\n elementName,\n attributeName,\n attributeType,\n defaultValue,\n index: i\n }\n}\n\nfunction hasSeq(data, seq,i){\n for(let j=0;j<seq.length;j++){\n if(seq[j]!==data[i+j+1]) return false;\n }\n return true;\n}\n\nfunction validateEntityName(name){\n if (isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n", "const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nexport default function toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/.+[eE].+/)!== -1) { //eNotation\n return resolveEnotation(str,trimmedStr,options);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1] || \"\";\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000.\n str[leadingZeros.length+1] === \".\" \n : str[leadingZeros.length] === \".\";\n\n //trim ending zeros for floating number\n if(!options.leadingZeros //leading zeros are not allowed\n && (leadingZeros.length > 1 \n || (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))){\n // 00, 00.3, +03.24, 03, 03.24\n return str;\n }\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const parsedStr = String(num);\n\n if( num === 0) return num;\n if(parsedStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(parsedStr === \"0\") return num; //0.0\n else if(parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( parsedStr === `${sign}${numTrimmedByZeros}`) return num;\n else return str;\n }\n \n let n = leadingZeros? numTrimmedByZeros : trimmedStr;\n if(leadingZeros){\n // -009 => -9\n return (n === parsedStr) || (sign+n === parsedStr) ? num : str\n }else {\n // +9\n return (n === parsedStr) || (n === sign+parsedStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\nconst eNotationRegx = /^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;\nfunction resolveEnotation(str,trimmedStr,options){\n if(!options.eNotation) return str;\n const notation = trimmedStr.match(eNotationRegx); \n if(notation){\n let sign = notation[1] || \"\";\n const eChar = notation[3].indexOf(\"e\") === -1 ? \"E\" : \"e\";\n const leadingZeros = notation[2];\n const eAdjacentToLeadingZeros = sign ? // 0E.\n str[leadingZeros.length+1] === eChar \n : str[leadingZeros.length] === eChar;\n\n if(leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;\n else if(leadingZeros.length === 1 \n && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)){\n return Number(trimmedStr);\n }else if(options.leadingZeros && !eAdjacentToLeadingZeros){ //accept with leading zeros\n //remove leading 0s\n trimmedStr = (notation[1] || \"\") + notation[3];\n return Number(trimmedStr);\n }else return str;\n }else{\n return str;\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substring(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}", "export default function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}", "'use strict';\n///@ts-check\n\nimport {getAllMatches, isExist} from '../util.js';\nimport xmlNode from './xmlNode.js';\nimport readDocType from './DocTypeReader.js';\nimport toNumber from \"strnum\";\nimport getIgnoreAttributesFn from \"../ignoreAttributes.js\";\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nexport default class OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"\u00A2\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"\u00A3\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"\u00A5\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"\u20AC\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"\u00A9\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"\u00AE\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"\u20B9\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath, i);\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n const startIndex = i;\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath, startIndex);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath, startIndex){\n // unset startIndex if not requested\n if (!this.options.captureMetaData) startIndex = undefined;\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n } else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode, startIndex);\n }else{\n currentNode.addChild(childNode, startIndex);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n", "'use strict';\n\nimport XmlNode from './xmlNode.js';\n\nconst METADATA_SYMBOL = XmlNode.getMetaDataSymbol();\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nexport default function prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[METADATA_SYMBOL] !== undefined) {\n val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata\n }\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\n", "import { buildOptions} from './OptionsBuilder.js';\nimport OrderedObjParser from './OrderedObjParser.js';\nimport prettify from './node2json.js';\nimport {validate} from \"../validator.js\";\nimport XmlNode from './xmlNode.js';\n\nexport default class XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n\n /**\n * Returns a Symbol that can be used to access the metadata\n * property on a node.\n * \n * If Symbol is not available in the environment, an ordinary property is used\n * and the name of the property is here returned.\n * \n * The XMLMetaData property is only present when `captureMetaData`\n * is true in the options.\n */\n static getMetaDataSymbol() {\n return XmlNode.getMetaDataSymbol();\n }\n}\n", "'use strict';\n\nimport {validate} from './validator.js';\nimport XMLParser from './xmlparser/XMLParser.js';\nimport XMLBuilder from './xmlbuilder/json2xml.js';\n\nconst XMLValidator = {\n validate: validate\n}\nexport {\n XMLParser,\n XMLValidator,\n XMLBuilder\n};", "import { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const sparse = !!traits.sparse;\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n if (v != null || sparse) {\n buffer.push(this.readSchema(listValue, v));\n }\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n if (value != null || sparse) {\n buffer[key] = this.readSchema(memberNs, value);\n }\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n const parser = new XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(xml, true);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n", "import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n this.writeValue(dateToUtcString(value));\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unsupported document type ${ns.getName(true)}`);\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const suffix = this.getKey(\"member\", member.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keySuffix = this.getKey(\"key\", keySchema.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valueSuffix = this.getKey(\"value\", memberSchema.getMergedTraits().xmlName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const suffix = this.getKey(memberName, member.getMergedTraits().xmlName);\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName) {\n const key = xmlName ?? memberName;\n if (this.settings.capitalizeKeys) {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n", "import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_DATE_TIME,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, (registry, errorName) => registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName));\n const ns = NormalizedSchema.of(errorSchema);\n const message = this.loadQueryErrorMessage(dataObject);\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n", "import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n useNestedResult() {\n return false;\n }\n}\n", "import { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(encoded, true);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n XmlNode: () => XmlNode,\n XmlText: () => XmlText\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/escape-attribute.ts\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n__name(escapeAttribute, \"escapeAttribute\");\n\n// src/escape-element.ts\nfunction escapeElement(value) {\n return value.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\\r/g, \"
\").replace(/\\n/g, \"
\").replace(/\\u0085/g, \"…\").replace(/\\u2028/, \"
\");\n}\n__name(escapeElement, \"escapeElement\");\n\n// src/XmlText.ts\nvar XmlText = class {\n constructor(value) {\n this.value = value;\n }\n static {\n __name(this, \"XmlText\");\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n};\n\n// src/XmlNode.ts\nvar XmlNode = class _XmlNode {\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n static {\n __name(this, \"XmlNode\");\n }\n attributes = {};\n static of(name, childText, withName) {\n const node = new _XmlNode(name);\n if (childText !== void 0) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== void 0) {\n node.withName(withName);\n }\n return node;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n /**\n * @internal\n * Alias of {@link XmlNode#withName(string)} for codegen brevity.\n */\n n(name) {\n this.name = name;\n return this;\n }\n /**\n * @internal\n * Alias of {@link XmlNode#addChildNode(string)} for codegen brevity.\n */\n c(child) {\n this.children.push(child);\n return this;\n }\n /**\n * @internal\n * Checked version of {@link XmlNode#addAttribute(string)} for codegen brevity.\n */\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n /**\n * Create a child node.\n * Used in serialization of string fields.\n * @internal\n */\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = _XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n /**\n * Creates list child nodes.\n * @internal\n */\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n /**\n * Creates list child nodes with container.\n * @internal\n */\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new _XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}</${this.name}>`;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n XmlNode,\n XmlText\n});\n\n", "import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n nodeContents = dateToUtcString(value);\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_DATE_TIME,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.headers[\"content-type\"] === this.getDefaultContentType()) {\n if (typeof request.body === \"string\") {\n request.body = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' + request.body;\n }\n }\n if (request.body) {\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n}\n", "export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n", "export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n build: () => build,\n parse: () => parse,\n validate: () => validate\n});\nmodule.exports = __toCommonJS(index_exports);\nvar validate = /* @__PURE__ */ __name((str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6, \"validate\");\nvar parse = /* @__PURE__ */ __name((arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\") throw new Error(\"Malformed ARN\");\n const [\n ,\n //Skip \"arn\" literal\n partition,\n service,\n region,\n accountId,\n ...resource\n ] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\")\n };\n}, \"parse\");\nvar build = /* @__PURE__ */ __name((arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n}, \"build\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n validate,\n parse,\n build\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: () => NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,\n S3ExpressIdentityCache: () => S3ExpressIdentityCache,\n S3ExpressIdentityCacheEntry: () => S3ExpressIdentityCacheEntry,\n S3ExpressIdentityProviderImpl: () => S3ExpressIdentityProviderImpl,\n SignatureV4S3Express: () => SignatureV4S3Express,\n checkContentLengthHeader: () => checkContentLengthHeader,\n checkContentLengthHeaderMiddlewareOptions: () => checkContentLengthHeaderMiddlewareOptions,\n getCheckContentLengthHeaderPlugin: () => getCheckContentLengthHeaderPlugin,\n getRegionRedirectMiddlewarePlugin: () => getRegionRedirectMiddlewarePlugin,\n getS3ExpiresMiddlewarePlugin: () => getS3ExpiresMiddlewarePlugin,\n getS3ExpressHttpSigningPlugin: () => getS3ExpressHttpSigningPlugin,\n getS3ExpressPlugin: () => getS3ExpressPlugin,\n getThrow200ExceptionsPlugin: () => getThrow200ExceptionsPlugin,\n getValidateBucketNamePlugin: () => getValidateBucketNamePlugin,\n regionRedirectEndpointMiddleware: () => regionRedirectEndpointMiddleware,\n regionRedirectEndpointMiddlewareOptions: () => regionRedirectEndpointMiddlewareOptions,\n regionRedirectMiddleware: () => regionRedirectMiddleware,\n regionRedirectMiddlewareOptions: () => regionRedirectMiddlewareOptions,\n resolveS3Config: () => resolveS3Config,\n s3ExpiresMiddleware: () => s3ExpiresMiddleware,\n s3ExpiresMiddlewareOptions: () => s3ExpiresMiddlewareOptions,\n s3ExpressHttpSigningMiddleware: () => s3ExpressHttpSigningMiddleware,\n s3ExpressHttpSigningMiddlewareOptions: () => s3ExpressHttpSigningMiddlewareOptions,\n s3ExpressMiddleware: () => s3ExpressMiddleware,\n s3ExpressMiddlewareOptions: () => s3ExpressMiddlewareOptions,\n throw200ExceptionsMiddleware: () => throw200ExceptionsMiddleware,\n throw200ExceptionsMiddlewareOptions: () => throw200ExceptionsMiddlewareOptions,\n validateBucketNameMiddleware: () => validateBucketNameMiddleware,\n validateBucketNameMiddlewareOptions: () => validateBucketNameMiddlewareOptions\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/check-content-length-header.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_smithy_client = require(\"@smithy/smithy-client\");\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nvar DECODED_CONTENT_LENGTH_HEADER = \"x-amz-decoded-content-length\";\nfunction checkContentLengthHeader() {\n return (next, context) => async (args) => {\n const { request } = args;\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof context?.logger?.warn === \"function\" && !(context.logger instanceof import_smithy_client.NoOpLogger)) {\n context.logger.warn(message);\n } else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\n__name(checkContentLengthHeader, \"checkContentLengthHeader\");\nvar checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true\n};\nvar getCheckContentLengthHeaderPlugin = /* @__PURE__ */ __name((unused) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getCheckContentLengthHeaderPlugin\");\n\n// src/region-redirect-endpoint-middleware.ts\nvar regionRedirectEndpointMiddleware = /* @__PURE__ */ __name((config) => {\n return (next, context) => async (args) => {\n const originalRegion = await config.region();\n const regionProviderRef = config.region;\n let unlock = /* @__PURE__ */ __name(() => {\n }, \"unlock\");\n if (context.__s3RegionRedirect) {\n Object.defineProperty(config, \"region\", {\n writable: false,\n value: /* @__PURE__ */ __name(async () => {\n return context.__s3RegionRedirect;\n }, \"value\")\n });\n unlock = /* @__PURE__ */ __name(() => Object.defineProperty(config, \"region\", {\n writable: true,\n value: regionProviderRef\n }), \"unlock\");\n }\n try {\n const result = await next(args);\n if (context.__s3RegionRedirect) {\n unlock();\n const region = await config.region();\n if (originalRegion !== region) {\n throw new Error(\"Region was not restored following S3 region redirect.\");\n }\n }\n return result;\n } catch (e) {\n unlock();\n throw e;\n }\n };\n}, \"regionRedirectEndpointMiddleware\");\nvar regionRedirectEndpointMiddlewareOptions = {\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectEndpointMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\"\n};\n\n// src/region-redirect-middleware.ts\nfunction regionRedirectMiddleware(clientConfig) {\n return (next, context) => async (args) => {\n try {\n return await next(args);\n } catch (err) {\n if (clientConfig.followRegionRedirects) {\n const statusCode = err?.$metadata?.httpStatusCode;\n const isHeadBucket = context.commandName === \"HeadBucketCommand\";\n const bucketRegionHeader = err?.$response?.headers?.[\"x-amz-bucket-region\"];\n if (bucketRegionHeader) {\n if (statusCode === 301 || statusCode === 400 && (err?.name === \"IllegalLocationConstraintException\" || isHeadBucket)) {\n try {\n const actualRegion = bucketRegionHeader;\n context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);\n context.__s3RegionRedirect = actualRegion;\n } catch (e) {\n throw new Error(\"Region redirect failed: \" + e);\n }\n return next(args);\n }\n }\n }\n throw err;\n }\n };\n}\n__name(regionRedirectMiddleware, \"regionRedirectMiddleware\");\nvar regionRedirectMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectMiddleware\",\n override: true\n};\nvar getRegionRedirectMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);\n clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getRegionRedirectMiddlewarePlugin\");\n\n// src/s3-expires-middleware.ts\n\n\nvar s3ExpiresMiddleware = /* @__PURE__ */ __name((config) => {\n return (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (import_protocol_http.HttpResponse.isInstance(response)) {\n if (response.headers.expires) {\n response.headers.expiresstring = response.headers.expires;\n try {\n (0, import_smithy_client.parseRfc7231DateTime)(response.headers.expires);\n } catch (e) {\n context.logger?.warn(\n `AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`\n );\n delete response.headers.expires;\n }\n }\n }\n return result;\n };\n}, \"s3ExpiresMiddleware\");\nvar s3ExpiresMiddlewareOptions = {\n tags: [\"S3\"],\n name: \"s3ExpiresMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\"\n};\nvar getS3ExpiresMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getS3ExpiresMiddlewarePlugin\");\n\n// src/s3-express/classes/S3ExpressIdentityCache.ts\nvar S3ExpressIdentityCache = class _S3ExpressIdentityCache {\n constructor(data = {}) {\n this.data = data;\n }\n static {\n __name(this, \"S3ExpressIdentityCache\");\n }\n lastPurgeTime = Date.now();\n static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 3e4;\n get(key) {\n const entry = this.data[key];\n if (!entry) {\n return;\n }\n return entry;\n }\n set(key, entry) {\n this.data[key] = entry;\n return entry;\n }\n delete(key) {\n delete this.data[key];\n }\n async purgeExpired() {\n const now = Date.now();\n if (this.lastPurgeTime + _S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {\n return;\n }\n for (const key in this.data) {\n const entry = this.data[key];\n if (!entry.isRefreshing) {\n const credential = await entry.identity;\n if (credential.expiration) {\n if (credential.expiration.getTime() < now) {\n delete this.data[key];\n }\n }\n }\n }\n }\n};\n\n// src/s3-express/classes/S3ExpressIdentityCacheEntry.ts\nvar S3ExpressIdentityCacheEntry = class {\n /**\n * @param identity - stored identity.\n * @param accessed - timestamp of last access in epoch ms.\n * @param isRefreshing - this key is currently in the process of being refreshed (background).\n */\n constructor(_identity, isRefreshing = false, accessed = Date.now()) {\n this._identity = _identity;\n this.isRefreshing = isRefreshing;\n this.accessed = accessed;\n }\n static {\n __name(this, \"S3ExpressIdentityCacheEntry\");\n }\n get identity() {\n this.accessed = Date.now();\n return this._identity;\n }\n};\n\n// src/s3-express/classes/S3ExpressIdentityProviderImpl.ts\nvar S3ExpressIdentityProviderImpl = class _S3ExpressIdentityProviderImpl {\n constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {\n this.createSessionFn = createSessionFn;\n this.cache = cache;\n }\n static {\n __name(this, \"S3ExpressIdentityProviderImpl\");\n }\n static REFRESH_WINDOW_MS = 6e4;\n async getS3ExpressIdentity(awsIdentity, identityProperties) {\n const key = identityProperties.Bucket;\n const { cache } = this;\n const entry = cache.get(key);\n if (entry) {\n return entry.identity.then((identity) => {\n const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();\n if (isExpired) {\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + _S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;\n if (isExpiringSoon && !entry.isRefreshing) {\n entry.isRefreshing = true;\n this.getIdentity(key).then((id) => {\n cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));\n });\n }\n return identity;\n });\n }\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n async getIdentity(key) {\n await this.cache.purgeExpired().catch((error) => {\n console.warn(\"Error while clearing expired entries in S3ExpressIdentityCache: \\n\" + error);\n });\n const session = await this.createSessionFn(key);\n if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {\n throw new Error(\"s3#createSession response credential missing AccessKeyId or SecretAccessKey.\");\n }\n const identity = {\n accessKeyId: session.Credentials.AccessKeyId,\n secretAccessKey: session.Credentials.SecretAccessKey,\n sessionToken: session.Credentials.SessionToken,\n expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : void 0\n };\n return identity;\n }\n};\n\n// src/s3-express/classes/SignatureV4S3Express.ts\nvar import_signature_v4 = require(\"@smithy/signature-v4\");\n\n// src/s3-express/constants.ts\nvar import_util_config_provider = require(\"@smithy/util-config-provider\");\nvar S3_EXPRESS_BUCKET_TYPE = \"Directory\";\nvar S3_EXPRESS_BACKEND = \"S3Express\";\nvar S3_EXPRESS_AUTH_SCHEME = \"sigv4-s3express\";\nvar SESSION_TOKEN_QUERY_PARAM = \"X-Amz-S3session-Token\";\nvar SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = \"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH\";\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = \"s3_disable_express_session_auth\";\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {\n environmentVariableSelector: /* @__PURE__ */ __name((env) => (0, import_util_config_provider.booleanSelector)(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, import_util_config_provider.SelectorType.ENV), \"environmentVariableSelector\"),\n configFileSelector: /* @__PURE__ */ __name((profile) => (0, import_util_config_provider.booleanSelector)(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, import_util_config_provider.SelectorType.CONFIG), \"configFileSelector\"),\n default: false\n};\n\n// src/s3-express/classes/SignatureV4S3Express.ts\nvar SignatureV4S3Express = class extends import_signature_v4.SignatureV4 {\n static {\n __name(this, \"SignatureV4S3Express\");\n }\n /**\n * Signs with alternate provided credentials instead of those provided in the\n * constructor.\n *\n * Additionally omits the credential sessionToken and assigns it to the\n * alternate header field for S3 Express.\n */\n async signWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return privateAccess.signRequest(requestToSign, options ?? {});\n }\n /**\n * Similar to {@link SignatureV4S3Express#signWithCredentials} but for presigning.\n */\n async presignWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n delete requestToSign.headers[SESSION_TOKEN_HEADER];\n requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n requestToSign.query = requestToSign.query ?? {};\n requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return this.presign(requestToSign, options);\n }\n};\nfunction getCredentialsWithoutSessionToken(credentials) {\n const credentialsWithoutSessionToken = {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n expiration: credentials.expiration\n };\n return credentialsWithoutSessionToken;\n}\n__name(getCredentialsWithoutSessionToken, \"getCredentialsWithoutSessionToken\");\nfunction setSingleOverride(privateAccess, credentialsWithoutSessionToken) {\n const id = setTimeout(() => {\n throw new Error(\"SignatureV4S3Express credential override was created but not called.\");\n }, 10);\n const currentCredentialProvider = privateAccess.credentialProvider;\n const overrideCredentialsProviderOnce = /* @__PURE__ */ __name(() => {\n clearTimeout(id);\n privateAccess.credentialProvider = currentCredentialProvider;\n return Promise.resolve(credentialsWithoutSessionToken);\n }, \"overrideCredentialsProviderOnce\");\n privateAccess.credentialProvider = overrideCredentialsProviderOnce;\n}\n__name(setSingleOverride, \"setSingleOverride\");\n\n// src/s3-express/functions/s3ExpressMiddleware.ts\nvar import_core = require(\"@aws-sdk/core\");\n\nvar s3ExpressMiddleware = /* @__PURE__ */ __name((options) => {\n return (next, context) => async (args) => {\n if (context.endpointV2) {\n const endpoint = context.endpointV2;\n const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;\n const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND || endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;\n if (isS3ExpressBucket) {\n (0, import_core.setFeature)(context, \"S3_EXPRESS_BUCKET\", \"J\");\n context.isS3ExpressBucket = true;\n }\n if (isS3ExpressAuth) {\n const requestBucket = args.input.Bucket;\n if (requestBucket) {\n const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(\n await options.credentials(),\n {\n Bucket: requestBucket\n }\n );\n context.s3ExpressIdentity = s3ExpressIdentity;\n if (import_protocol_http.HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {\n args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;\n }\n }\n }\n }\n return next(args);\n };\n}, \"s3ExpressMiddleware\");\nvar s3ExpressMiddlewareOptions = {\n name: \"s3ExpressMiddleware\",\n step: \"build\",\n tags: [\"S3\", \"S3_EXPRESS\"],\n override: true\n};\nvar getS3ExpressPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getS3ExpressPlugin\");\n\n// src/s3-express/functions/s3ExpressHttpSigningMiddleware.ts\nvar import_core2 = require(\"@smithy/core\");\n\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\n// src/s3-express/functions/signS3Express.ts\nvar signS3Express = /* @__PURE__ */ __name(async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {\n const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});\n if (signedRequest.headers[\"X-Amz-Security-Token\"] || signedRequest.headers[\"x-amz-security-token\"]) {\n throw new Error(\"X-Amz-Security-Token must not be set for s3-express requests.\");\n }\n return signedRequest;\n}, \"signS3Express\");\n\n// src/s3-express/functions/s3ExpressHttpSigningMiddleware.ts\nvar defaultErrorHandler = /* @__PURE__ */ __name((signingProperties) => (error) => {\n throw error;\n}, \"defaultErrorHandler\");\nvar defaultSuccessHandler = /* @__PURE__ */ __name((httpResponse, signingProperties) => {\n}, \"defaultSuccessHandler\");\nvar s3ExpressHttpSigningMiddlewareOptions = import_core2.httpSigningMiddlewareOptions;\nvar s3ExpressHttpSigningMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {\n if (!import_protocol_http.HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const {\n httpAuthOption: { signingProperties = {} },\n identity,\n signer\n } = scheme;\n let request;\n if (context.s3ExpressIdentity) {\n request = await signS3Express(\n context.s3ExpressIdentity,\n signingProperties,\n args.request,\n await config.signer()\n );\n } else {\n request = await signer.sign(args.request, identity, signingProperties);\n }\n const output = await next({\n ...args,\n request\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n}, \"s3ExpressHttpSigningMiddleware\");\nvar getS3ExpressHttpSigningPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(\n s3ExpressHttpSigningMiddleware(config),\n import_core2.httpSigningMiddlewareOptions\n );\n }, \"applyToStack\")\n}), \"getS3ExpressHttpSigningPlugin\");\n\n// src/s3Configuration.ts\nvar resolveS3Config = /* @__PURE__ */ __name((input, {\n session\n}) => {\n const [s3ClientProvider, CreateSessionCommandCtor] = session;\n const {\n forcePathStyle,\n useAccelerateEndpoint,\n disableMultiregionAccessPoints,\n followRegionRedirects,\n s3ExpressIdentityProvider,\n bucketEndpoint\n } = input;\n return Object.assign(input, {\n forcePathStyle: forcePathStyle ?? false,\n useAccelerateEndpoint: useAccelerateEndpoint ?? false,\n disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,\n followRegionRedirects: followRegionRedirects ?? false,\n s3ExpressIdentityProvider: s3ExpressIdentityProvider ?? new S3ExpressIdentityProviderImpl(\n async (key) => s3ClientProvider().send(\n new CreateSessionCommandCtor({\n Bucket: key\n })\n )\n ),\n bucketEndpoint: bucketEndpoint ?? false\n });\n}, \"resolveS3Config\");\n\n// src/throw-200-exceptions.ts\n\nvar import_util_stream = require(\"@smithy/util-stream\");\nvar THROW_IF_EMPTY_BODY = {\n CopyObjectCommand: true,\n UploadPartCopyCommand: true,\n CompleteMultipartUploadCommand: true\n};\nvar MAX_BYTES_TO_INSPECT = 3e3;\nvar throw200ExceptionsMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!import_protocol_http.HttpResponse.isInstance(response)) {\n return result;\n }\n const { statusCode, body: sourceBody } = response;\n if (statusCode < 200 || statusCode >= 300) {\n return result;\n }\n const isSplittableStream = typeof sourceBody?.stream === \"function\" || typeof sourceBody?.pipe === \"function\" || typeof sourceBody?.tee === \"function\";\n if (!isSplittableStream) {\n return result;\n }\n let bodyCopy = sourceBody;\n let body = sourceBody;\n if (sourceBody && typeof sourceBody === \"object\" && !(sourceBody instanceof Uint8Array)) {\n [bodyCopy, body] = await (0, import_util_stream.splitStream)(sourceBody);\n }\n response.body = body;\n const bodyBytes = await collectBody(bodyCopy, {\n streamCollector: /* @__PURE__ */ __name(async (stream) => {\n return (0, import_util_stream.headStream)(stream, MAX_BYTES_TO_INSPECT);\n }, \"streamCollector\")\n });\n if (typeof bodyCopy?.destroy === \"function\") {\n bodyCopy.destroy();\n }\n const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));\n if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyStringTail && bodyStringTail.endsWith(\"</Error>\")) {\n response.statusCode = 400;\n }\n return result;\n}, \"throw200ExceptionsMiddleware\");\nvar collectBody = /* @__PURE__ */ __name((streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n}, \"collectBody\");\nvar throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true\n};\nvar getThrow200ExceptionsPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getThrow200ExceptionsPlugin\");\n\n// src/validate-bucket-name.ts\nvar import_util_arn_parser = require(\"@aws-sdk/util-arn-parser\");\n\n// src/bucket-endpoint-middleware.ts\nfunction bucketEndpointMiddleware(options) {\n return (next, context) => async (args) => {\n if (options.bucketEndpoint) {\n const endpoint = context.endpointV2;\n if (endpoint) {\n const bucket = args.input.Bucket;\n if (typeof bucket === \"string\") {\n try {\n const bucketEndpointUrl = new URL(bucket);\n context.endpointV2 = {\n ...endpoint,\n url: bucketEndpointUrl\n };\n } catch (e) {\n const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;\n if (context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(warning);\n } else {\n context.logger?.warn?.(warning);\n }\n throw e;\n }\n }\n }\n }\n return next(args);\n };\n}\n__name(bucketEndpointMiddleware, \"bucketEndpointMiddleware\");\nvar bucketEndpointMiddlewareOptions = {\n name: \"bucketEndpointMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"endpointV2Middleware\"\n};\n\n// src/validate-bucket-name.ts\nfunction validateBucketNameMiddleware({ bucketEndpoint }) {\n return (next) => async (args) => {\n const {\n input: { Bucket }\n } = args;\n if (!bucketEndpoint && typeof Bucket === \"string\" && !(0, import_util_arn_parser.validate)(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\n__name(validateBucketNameMiddleware, \"validateBucketNameMiddleware\");\nvar validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true\n};\nvar getValidateBucketNamePlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getValidateBucketNamePlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n checkContentLengthHeaderMiddlewareOptions,\n getCheckContentLengthHeaderPlugin,\n checkContentLengthHeader,\n regionRedirectEndpointMiddleware,\n regionRedirectEndpointMiddlewareOptions,\n regionRedirectMiddlewareOptions,\n getRegionRedirectMiddlewarePlugin,\n regionRedirectMiddleware,\n s3ExpiresMiddleware,\n s3ExpiresMiddlewareOptions,\n getS3ExpiresMiddlewarePlugin,\n S3ExpressIdentityCache,\n S3ExpressIdentityCacheEntry,\n S3ExpressIdentityProviderImpl,\n SignatureV4S3Express,\n NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,\n getS3ExpressPlugin,\n s3ExpressMiddleware,\n s3ExpressMiddlewareOptions,\n getS3ExpressHttpSigningPlugin,\n s3ExpressHttpSigningMiddleware,\n s3ExpressHttpSigningMiddlewareOptions,\n resolveS3Config,\n throw200ExceptionsMiddleware,\n throw200ExceptionsMiddlewareOptions,\n getThrow200ExceptionsPlugin,\n validateBucketNameMiddlewareOptions,\n getValidateBucketNamePlugin,\n validateBucketNameMiddleware\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n SignatureV4MultiRegion: () => SignatureV4MultiRegion,\n signatureV4CrtContainer: () => signatureV4CrtContainer\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/SignatureV4MultiRegion.ts\nvar import_middleware_sdk_s3 = require(\"@aws-sdk/middleware-sdk-s3\");\nvar import_signature_v4 = require(\"@smithy/signature-v4\");\n\n// src/signature-v4-crt-container.ts\nvar signatureV4CrtContainer = {\n CrtSignerV4: null\n};\n\n// src/SignatureV4MultiRegion.ts\nvar SignatureV4MultiRegion = class {\n static {\n __name(this, \"SignatureV4MultiRegion\");\n }\n sigv4aSigner;\n sigv4Signer;\n signerOptions;\n static sigv4aDependency() {\n if (typeof signatureV4CrtContainer.CrtSignerV4 === \"function\") {\n return \"crt\";\n } else if (typeof import_signature_v4.signatureV4aContainer.SignatureV4a === \"function\") {\n return \"js\";\n }\n return \"none\";\n }\n constructor(options) {\n this.sigv4Signer = new import_middleware_sdk_s3.SignatureV4S3Express(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n /**\n * Sign with alternate credentials to the ones provided in the constructor.\n * Note: This is only supported for SigV4a when using the CRT implementation.\n */\n async signWithCredentials(requestToSign, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.signWithCredentials(requestToSign, credentials, options);\n } else {\n throw new Error(\n `signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`\n );\n }\n }\n return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);\n }\n /**\n * Presign a request.\n * Note: This is only supported for SigV4a when using the CRT implementation.\n */\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.presign(originalRequest, options);\n } else {\n throw new Error(\n `presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`\n );\n }\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n async presignWithCredentials(originalRequest, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n throw new Error(\"Method presignWithCredentials is not supported for [signingRegion=*].\");\n }\n return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n const JsSigV4aSigner = import_signature_v4.signatureV4aContainer.SignatureV4a;\n if (this.signerOptions.runtime === \"node\") {\n if (!CrtSignerV4 && !JsSigV4aSigner) {\n throw new Error(\n \"Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\"\n );\n }\n if (CrtSignerV4 && typeof CrtSignerV4 === \"function\") {\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1\n });\n } else if (JsSigV4aSigner && typeof JsSigV4aSigner === \"function\") {\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions\n });\n } else {\n throw new Error(\n \"Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\"\n );\n }\n } else {\n if (!JsSigV4aSigner || typeof JsSigV4aSigner !== \"function\") {\n throw new Error(\n \"JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a\"\n );\n }\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions\n });\n }\n }\n return this.sigv4aSigner;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n SignatureV4MultiRegion,\n signatureV4CrtContainer\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n S3RequestPresigner: () => S3RequestPresigner,\n getSignedUrl: () => getSignedUrl\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/getSignedUrl.ts\nvar import_util_format_url = require(\"@aws-sdk/util-format-url\");\nvar import_middleware_endpoint = require(\"@smithy/middleware-endpoint\");\nvar import_protocol_http = require(\"@smithy/protocol-http\");\n\n// src/presigner.ts\nvar import_signature_v4_multi_region = require(\"@aws-sdk/signature-v4-multi-region\");\n\n// src/constants.ts\nvar UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nvar SHA256_HEADER = \"X-Amz-Content-Sha256\";\n\n// src/presigner.ts\nvar S3RequestPresigner = class {\n static {\n __name(this, \"S3RequestPresigner\");\n }\n signer;\n constructor(options) {\n const resolvedOptions = {\n // Allow `signingName` because we want to support usecase of supply client's resolved config\n // directly. Where service equals signingName.\n service: options.signingName || options.service || \"s3\",\n uriEscapePath: options.uriEscapePath || false,\n applyChecksum: options.applyChecksum || false,\n ...options\n };\n this.signer = new import_signature_v4_multi_region.SignatureV4MultiRegion(resolvedOptions);\n }\n presign(requestToSign, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n ...options\n } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders\n });\n return this.signer.presign(requestToSign, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options\n });\n }\n presignWithCredentials(requestToSign, credentials, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n ...options\n } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders\n });\n return this.signer.presignWithCredentials(requestToSign, credentials, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options\n });\n }\n prepareRequest(requestToSign, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set()\n } = {}) {\n unsignableHeaders.add(\"content-type\");\n Object.keys(requestToSign.headers).map((header) => header.toLowerCase()).filter((header) => header.startsWith(\"x-amz-server-side-encryption\")).forEach((header) => {\n if (!hoistableHeaders.has(header)) {\n unhoistableHeaders.add(header);\n }\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n const currentHostHeader = requestToSign.headers.host;\n const port = requestToSign.port;\n const expectedHostHeader = `${requestToSign.hostname}${requestToSign.port != null ? \":\" + port : \"\"}`;\n if (!currentHostHeader || currentHostHeader === requestToSign.hostname && requestToSign.port != null) {\n requestToSign.headers.host = expectedHostHeader;\n }\n }\n};\n\n// src/getSignedUrl.ts\nvar getSignedUrl = /* @__PURE__ */ __name(async (client, command, options = {}) => {\n let s3Presigner;\n let region;\n if (typeof client.config.endpointProvider === \"function\") {\n const endpointV2 = await (0, import_middleware_endpoint.getEndpointFromInstructions)(\n command.input,\n command.constructor,\n client.config\n );\n const authScheme = endpointV2.properties?.authSchemes?.[0];\n if (authScheme?.name === \"sigv4a\") {\n region = authScheme?.signingRegionSet?.join(\",\");\n } else {\n region = authScheme?.signingRegion;\n }\n s3Presigner = new S3RequestPresigner({\n ...client.config,\n signingName: authScheme?.signingName,\n region: /* @__PURE__ */ __name(async () => region, \"region\")\n });\n } else {\n s3Presigner = new S3RequestPresigner(client.config);\n }\n const presignInterceptMiddleware = /* @__PURE__ */ __name((next, context) => async (args) => {\n const { request } = args;\n if (!import_protocol_http.HttpRequest.isInstance(request)) {\n throw new Error(\"Request to be presigned is not an valid HTTP request.\");\n }\n delete request.headers[\"amz-sdk-invocation-id\"];\n delete request.headers[\"amz-sdk-request\"];\n delete request.headers[\"x-amz-user-agent\"];\n let presigned2;\n const presignerOptions = {\n ...options,\n signingRegion: options.signingRegion ?? context[\"signing_region\"] ?? region,\n signingService: options.signingService ?? context[\"signing_service\"]\n };\n if (context.s3ExpressIdentity) {\n presigned2 = await s3Presigner.presignWithCredentials(request, context.s3ExpressIdentity, presignerOptions);\n } else {\n presigned2 = await s3Presigner.presign(request, presignerOptions);\n }\n return {\n // Intercept the middleware stack by returning fake response\n response: {},\n output: {\n $metadata: { httpStatusCode: 200 },\n presigned: presigned2\n }\n };\n }, \"presignInterceptMiddleware\");\n const middlewareName = \"presignInterceptMiddleware\";\n const clientStack = client.middlewareStack.clone();\n clientStack.addRelativeTo(presignInterceptMiddleware, {\n name: middlewareName,\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true\n });\n const handler = command.resolveMiddleware(clientStack, client.config, {});\n const { output } = await handler({ input: command.input });\n const { presigned } = output;\n return (0, import_util_format_url.formatUrl)(presigned);\n}, \"getSignedUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSignedUrl,\n S3RequestPresigner\n});\n\n", "import {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommand,\n PutObjectCommandInput,\n PutObjectCommandOutput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport assert from \"node:assert/strict\";\nimport { PassThrough } from \"node:stream\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\nimport { getSignedUrl } from \"@aws-sdk/s3-request-presigner\";\n\nexport class S3Service {\n logger: GenericLogger;\n client: S3Client;\n constructor({\n logger = getLoggerWithScope(\"S3Service\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new S3Client({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n const donePromise = parallelUploads\n .done()\n .then(() => this.logger.debug(\"upload stream finished\"))\n .catch((err) => {\n this.logger.error(\"upload stream error\", err);\n pass.destroy(err);\n });\n\n return { stream: pass, done: donePromise };\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n this.logger.debug(\"getObject\", getObjectCommandInput);\n\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async getSignedUrl(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<string> {\n this.logger.debug(\"getSignedUrl\", getObjectCommandInput);\n\n const signedUrl = await getSignedUrl(\n this.client,\n new GetObjectCommand(getObjectCommandInput),\n { expiresIn: 3600 }\n );\n\n return signedUrl;\n }\n\n async putObject(\n putObjectCommandInput: PutObjectCommandInput\n ): Promise<PutObjectCommandOutput> {\n this.logger.debug(\"putObject\", putObjectCommandInput);\n\n return await this.client.send(new PutObjectCommand(putObjectCommandInput));\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n this.logger.debug(\"headObject\", headObjectCommandInput);\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n this.logger.debug(\"checkIfObjectExists\", headObjectCommandInput);\n\n try {\n await this.headObject(headObjectCommandInput);\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { GenericLogger } from \"./types.js\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n", "import { extname } from \"node:path\";\n\nexport const JPEG_EXTENSION = \"jpeg\";\nexport const JPG_EXTENSION = \"jpg\";\nexport const HEIC_EXTENSION = \"heic\";\nexport const DEFAULT_THUMBS_EXTENSION = JPG_EXTENSION;\nexport const ALLOWED_EXTENSIONS = [\n JPEG_EXTENSION,\n JPG_EXTENSION,\n HEIC_EXTENSION\n];\n\nexport const THUMBNAIL_RESOLUTIONS = [\n [200, 200],\n [1180, 820]\n];\n\nexport const getThumbsKey = ({\n key,\n prefix,\n width,\n height\n}: {\n key: string;\n prefix: string;\n width: number;\n height: number;\n}) => {\n const ext = getKeyExtension(key);\n\n const destinationKey = [JPEG_EXTENSION, JPG_EXTENSION].includes(ext)\n ? key\n : `${key.split(\".\").slice(0, -1).join(\".\")}.${DEFAULT_THUMBS_EXTENSION}`;\n\n return `${prefix}/${width}x${height}/${destinationKey}`;\n};\n\nexport const getKeyExtension = (key: string) =>\n extname(key).slice(1).toLowerCase();\n\nexport const isAllowedExtension = (key: string) => {\n const ext = getKeyExtension(key);\n return ALLOWED_EXTENSIONS.includes(ext);\n};\n", "import { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { GenericLogger } from \"./types.js\";\n\nexport const getObjectWithAssumeRoleCommandOutputAttribute = (\n assumeRoleCommandOutput?: AssumeRoleCommandOutput\n) =>\n assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {};\n\nexport const getObjectWithStackAttribute = (error: any) =>\n error && error instanceof Error ? { stack: error.stack } : {};\n\nexport const getObjectWithLoggerAttribute = (logger?: GenericLogger) =>\n logger\n ? {\n logger\n }\n : {};\n", "import { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class DynamoDBService {\n logger: GenericLogger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger = getLoggerWithScope(\"DynamoDBService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new DynamoDBClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import {\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput,\n SSMClient\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class SSMService {\n logger: GenericLogger;\n client: SSMClient;\n\n constructor({\n logger = getLoggerWithScope(\"SSMService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SSMClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import {\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n DeleteMessageCommandOutput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n ReceiveMessageCommandOutput,\n SQSClient,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n SendMessageBatchCommandOutput,\n SendMessageCommand,\n SendMessageCommandInput,\n SendMessageCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class SQSService {\n logger: GenericLogger;\n client: SQSClient;\n\n constructor({\n logger = getLoggerWithScope(\"SQSService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SQSClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n AssumeRoleCommand,\n AssumeRoleCommandInput,\n GetCallerIdentityCommand,\n STSClient\n} from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport { GenericLogger } from \"../utils/types.js\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class STSService {\n logger: GenericLogger;\n client: STSClient;\n\n constructor({\n logger = getLoggerWithScope(\"STSService\"),\n region,\n client\n }: {\n logger?: GenericLogger;\n region?: string;\n client?: STSClient;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new STSClient({\n region\n });\n }\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import {\n LocationClient,\n SearchPlaceIndexForPositionCommand,\n SearchPlaceIndexForPositionCommandInput,\n SearchPlaceIndexForPositionCommandOutput\n} from \"@aws-sdk/client-location\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class LocationService {\n logger: GenericLogger;\n client: LocationClient;\n\n constructor({\n logger = getLoggerWithScope(\"LocationService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: LocationClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new LocationClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async searchPlaceIndexForPositionCommand(\n searchPlaceIndexForPositionCommandInput: SearchPlaceIndexForPositionCommandInput\n ): Promise<SearchPlaceIndexForPositionCommandOutput> {\n return await this.client.send(\n new SearchPlaceIndexForPositionCommand(\n searchPlaceIndexForPositionCommandInput\n )\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n const logger = getLoggerWithScope(\"plumbingMiddleware.before\");\n logger.addContext(context);\n logger.logEventIfEnabled(event);\n\n segment = tracer.getSegment();\n\n if (!segment) {\n logger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\"\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\"\n },\n Custom: { tracer, logger, metrics }\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const logger = getLoggerWithScope(\"plumbingMiddleware.after\");\n\n try {\n logger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n logger.debug(\"finished closing in after\");\n } catch (error) {\n logger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n escapeUri: () => escapeUri,\n escapeUriPath: () => escapeUriPath\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/escape-uri.ts\nvar escapeUri = /* @__PURE__ */ __name((uri) => (\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode)\n), \"escapeUri\");\nvar hexEncode = /* @__PURE__ */ __name((c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`, \"hexEncode\");\n\n// src/escape-uri-path.ts\nvar escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split(\"/\").map(escapeUri).join(\"/\"), \"escapeUriPath\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n escapeUri,\n escapeUriPath\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n buildQueryString: () => buildQueryString\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_util_uri_escape = require(\"@smithy/util-uri-escape\");\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = (0, import_util_uri_escape.escapeUri)(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${(0, import_util_uri_escape.escapeUri)(value[i])}`);\n }\n } else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${(0, import_util_uri_escape.escapeUri)(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n__name(buildQueryString, \"buildQueryString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n buildQueryString\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n formatUrl: () => formatUrl\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\nfunction formatUrl(request) {\n const { port, query } = request;\n let { protocol, path, hostname } = request;\n if (protocol && protocol.slice(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += `:${port}`;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = `/${path}`;\n }\n let queryString = query ? (0, import_querystring_builder.buildQueryString)(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = `?${queryString}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n let fragment = \"\";\n if (request.fragment) {\n fragment = `#${request.fragment}`;\n }\n return `${protocol}//${auth}${hostname}${path}${queryString}${fragment}`;\n}\n__name(formatUrl, \"formatUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n formatUrl\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n CredentialsProviderError: () => CredentialsProviderError,\n ProviderError: () => ProviderError,\n TokenProviderError: () => TokenProviderError,\n chain: () => chain,\n fromStatic: () => fromStatic,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/ProviderError.ts\nvar ProviderError = class _ProviderError extends Error {\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = void 0;\n tryNextLink = options;\n } else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.name = \"ProviderError\";\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, _ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static {\n __name(this, \"ProviderError\");\n }\n /**\n * @deprecated use new operator.\n */\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n};\n\n// src/CredentialsProviderError.ts\nvar CredentialsProviderError = class _CredentialsProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, _CredentialsProviderError.prototype);\n }\n static {\n __name(this, \"CredentialsProviderError\");\n }\n};\n\n// src/TokenProviderError.ts\nvar TokenProviderError = class _TokenProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, _TokenProviderError.prototype);\n }\n static {\n __name(this, \"TokenProviderError\");\n }\n};\n\n// src/chain.ts\nvar chain = /* @__PURE__ */ __name((...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n } catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n}, \"chain\");\n\n// src/fromStatic.ts\nvar fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), \"fromStatic\");\n\n// src/memoize.ts\nvar memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = /* @__PURE__ */ __name(async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n } finally {\n pending = void 0;\n }\n return resolved;\n }, \"coalesceProvider\");\n if (isExpired === void 0) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n}, \"memoize\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n CredentialsProviderError,\n ProviderError,\n TokenProviderError,\n chain,\n fromStatic,\n memoize\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();\n return homeDirCache[homeDirCacheKey];\n};\nexports.getHomeDir = getHomeDir;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = exports.tokenIntercept = void 0;\nconst fs_1 = require(\"fs\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nconst { readFile } = fs_1.promises;\nexports.tokenIntercept = {};\nconst getSSOTokenFromFile = async (id) => {\n if (exports.tokenIntercept[id]) {\n return exports.tokenIntercept[id];\n }\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n AlgorithmId: () => AlgorithmId,\n EndpointURLScheme: () => EndpointURLScheme,\n FieldPosition: () => FieldPosition,\n HttpApiKeyAuthLocation: () => HttpApiKeyAuthLocation,\n HttpAuthLocation: () => HttpAuthLocation,\n IniSectionType: () => IniSectionType,\n RequestHandlerProtocol: () => RequestHandlerProtocol,\n SMITHY_CONTEXT_KEY: () => SMITHY_CONTEXT_KEY,\n getDefaultClientConfiguration: () => getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/auth/auth.ts\nvar HttpAuthLocation = /* @__PURE__ */ ((HttpAuthLocation2) => {\n HttpAuthLocation2[\"HEADER\"] = \"header\";\n HttpAuthLocation2[\"QUERY\"] = \"query\";\n return HttpAuthLocation2;\n})(HttpAuthLocation || {});\n\n// src/auth/HttpApiKeyAuth.ts\nvar HttpApiKeyAuthLocation = /* @__PURE__ */ ((HttpApiKeyAuthLocation2) => {\n HttpApiKeyAuthLocation2[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation2[\"QUERY\"] = \"query\";\n return HttpApiKeyAuthLocation2;\n})(HttpApiKeyAuthLocation || {});\n\n// src/endpoint.ts\nvar EndpointURLScheme = /* @__PURE__ */ ((EndpointURLScheme2) => {\n EndpointURLScheme2[\"HTTP\"] = \"http\";\n EndpointURLScheme2[\"HTTPS\"] = \"https\";\n return EndpointURLScheme2;\n})(EndpointURLScheme || {});\n\n// src/extensions/checksum.ts\nvar AlgorithmId = /* @__PURE__ */ ((AlgorithmId2) => {\n AlgorithmId2[\"MD5\"] = \"md5\";\n AlgorithmId2[\"CRC32\"] = \"crc32\";\n AlgorithmId2[\"CRC32C\"] = \"crc32c\";\n AlgorithmId2[\"SHA1\"] = \"sha1\";\n AlgorithmId2[\"SHA256\"] = \"sha256\";\n return AlgorithmId2;\n})(AlgorithmId || {});\nvar getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== void 0) {\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => \"sha256\" /* SHA256 */, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.sha256, \"checksumConstructor\")\n });\n }\n if (runtimeConfig.md5 != void 0) {\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => \"md5\" /* MD5 */, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.md5, \"checksumConstructor\")\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n }\n };\n}, \"getChecksumConfiguration\");\nvar resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n}, \"resolveChecksumRuntimeConfig\");\n\n// src/extensions/defaultClientConfiguration.ts\nvar getDefaultClientConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return getChecksumConfiguration(runtimeConfig);\n}, \"getDefaultClientConfiguration\");\nvar resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {\n return resolveChecksumRuntimeConfig(config);\n}, \"resolveDefaultRuntimeConfig\");\n\n// src/http.ts\nvar FieldPosition = /* @__PURE__ */ ((FieldPosition2) => {\n FieldPosition2[FieldPosition2[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition2[FieldPosition2[\"TRAILER\"] = 1] = \"TRAILER\";\n return FieldPosition2;\n})(FieldPosition || {});\n\n// src/middleware.ts\nvar SMITHY_CONTEXT_KEY = \"__smithy_context\";\n\n// src/profile.ts\nvar IniSectionType = /* @__PURE__ */ ((IniSectionType2) => {\n IniSectionType2[\"PROFILE\"] = \"profile\";\n IniSectionType2[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType2[\"SERVICES\"] = \"services\";\n return IniSectionType2;\n})(IniSectionType || {});\n\n// src/transfer.ts\nvar RequestHandlerProtocol = /* @__PURE__ */ ((RequestHandlerProtocol2) => {\n RequestHandlerProtocol2[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol2[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol2[\"TDS_8_0\"] = \"tds/8.0\";\n return RequestHandlerProtocol2;\n})(RequestHandlerProtocol || {});\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n HttpAuthLocation,\n HttpApiKeyAuthLocation,\n EndpointURLScheme,\n AlgorithmId,\n getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig,\n FieldPosition,\n SMITHY_CONTEXT_KEY,\n IniSectionType,\n RequestHandlerProtocol\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slurpFile = exports.fileIntercept = exports.filePromisesHash = void 0;\nconst fs_1 = require(\"fs\");\nconst { readFile } = fs_1.promises;\nexports.filePromisesHash = {};\nexports.fileIntercept = {};\nconst slurpFile = (path, options) => {\n if (exports.fileIntercept[path] !== undefined) {\n return exports.fileIntercept[path];\n }\n if (!exports.filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) {\n exports.filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return exports.filePromisesHash[path];\n};\nexports.slurpFile = slurpFile;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR,\n DEFAULT_PROFILE: () => DEFAULT_PROFILE,\n ENV_PROFILE: () => ENV_PROFILE,\n SSOToken: () => import_getSSOTokenFromFile2.SSOToken,\n externalDataInterceptor: () => externalDataInterceptor,\n getProfileName: () => getProfileName,\n getSSOTokenFromFile: () => import_getSSOTokenFromFile2.getSSOTokenFromFile,\n loadSharedConfigFiles: () => loadSharedConfigFiles,\n loadSsoSessionData: () => loadSsoSessionData,\n parseKnownFiles: () => parseKnownFiles\n});\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"././getHomeDir\"), module.exports);\n\n// src/getProfileName.ts\nvar ENV_PROFILE = \"AWS_PROFILE\";\nvar DEFAULT_PROFILE = \"default\";\nvar getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, \"getProfileName\");\n\n// src/index.ts\n__reExport(index_exports, require(\"././getSSOTokenFilepath\"), module.exports);\nvar import_getSSOTokenFromFile2 = require(\"././getSSOTokenFromFile\");\n\n// src/loadSharedConfigFiles.ts\n\n\n// src/getConfigData.ts\nvar import_types = require(\"@smithy/types\");\nvar getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(import_types.IniSectionType).includes(key.substring(0, indexOfSeparator));\n}).reduce(\n (acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === import_types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n },\n {\n // Populate default profile, if present.\n ...data.default && { default: data.default }\n }\n), \"getConfigData\");\n\n// src/getConfigFilepath.ts\nvar import_path = require(\"path\");\nvar import_getHomeDir = require(\"././getHomeDir\");\nvar ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nvar getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || (0, import_path.join)((0, import_getHomeDir.getHomeDir)(), \".aws\", \"config\"), \"getConfigFilepath\");\n\n// src/getCredentialsFilepath.ts\n\nvar import_getHomeDir2 = require(\"././getHomeDir\");\nvar ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nvar getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || (0, import_path.join)((0, import_getHomeDir2.getHomeDir)(), \".aws\", \"credentials\"), \"getCredentialsFilepath\");\n\n// src/loadSharedConfigFiles.ts\nvar import_getHomeDir3 = require(\"././getHomeDir\");\n\n// src/parseIni.ts\n\nvar prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nvar profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nvar parseIni = /* @__PURE__ */ __name((iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = void 0;\n currentSubSection = void 0;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(import_types.IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n } else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n } else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim()\n ];\n if (value === \"\") {\n currentSubSection = name;\n } else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = void 0;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n}, \"parseIni\");\n\n// src/loadSharedConfigFiles.ts\nvar import_slurpFile = require(\"././slurpFile\");\nvar swallowError = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar CONFIG_PREFIX_SEPARATOR = \".\";\nvar loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = (0, import_getHomeDir3.getHomeDir)();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = (0, import_path.join)(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = (0, import_path.join)(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n (0, import_slurpFile.slurpFile)(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).then(getConfigData).catch(swallowError),\n (0, import_slurpFile.slurpFile)(resolvedFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).catch(swallowError)\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1]\n };\n}, \"loadSharedConfigFiles\");\n\n// src/getSsoSessionData.ts\n\nvar getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), \"getSsoSessionData\");\n\n// src/loadSsoSessionData.ts\nvar import_slurpFile2 = require(\"././slurpFile\");\nvar swallowError2 = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), \"loadSsoSessionData\");\n\n// src/mergeConfigFiles.ts\nvar mergeConfigFiles = /* @__PURE__ */ __name((...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== void 0) {\n Object.assign(merged[key], values);\n } else {\n merged[key] = values;\n }\n }\n }\n return merged;\n}, \"mergeConfigFiles\");\n\n// src/parseKnownFiles.ts\nvar parseKnownFiles = /* @__PURE__ */ __name(async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n}, \"parseKnownFiles\");\n\n// src/externalDataInterceptor.ts\nvar import_getSSOTokenFromFile = require(\"././getSSOTokenFromFile\");\nvar import_slurpFile3 = require(\"././slurpFile\");\nvar externalDataInterceptor = {\n getFileRecord() {\n return import_slurpFile3.fileIntercept;\n },\n interceptFile(path, contents) {\n import_slurpFile3.fileIntercept[path] = Promise.resolve(contents);\n },\n getTokenRecord() {\n return import_getSSOTokenFromFile.tokenIntercept;\n },\n interceptToken(id, contents) {\n import_getSSOTokenFromFile.tokenIntercept[id] = contents;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSSOTokenFromFile,\n externalDataInterceptor,\n getHomeDir,\n ENV_PROFILE,\n DEFAULT_PROFILE,\n getProfileName,\n getSSOTokenFilepath,\n CONFIG_PREFIX_SEPARATOR,\n loadSharedConfigFiles,\n loadSsoSessionData,\n parseKnownFiles\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n loadConfig: () => loadConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/configLoader.ts\n\n\n// src/fromEnv.ts\nvar import_property_provider = require(\"@smithy/property-provider\");\n\n// src/getSelectorName.ts\nfunction getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n } catch (e) {\n return functionString;\n }\n}\n__name(getSelectorName, \"getSelectorName\");\n\n// src/fromEnv.ts\nvar fromEnv = /* @__PURE__ */ __name((envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === void 0) {\n throw new Error();\n }\n return config;\n } catch (e) {\n throw new import_property_provider.CredentialsProviderError(\n e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`,\n { logger: options?.logger }\n );\n }\n}, \"fromEnv\");\n\n// src/fromSharedConfigFiles.ts\n\nvar import_shared_ini_file_loader = require(\"@smithy/shared-ini-file-loader\");\nvar fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = (0, import_shared_ini_file_loader.getProfileName)(init);\n const { configFile, credentialsFile } = await (0, import_shared_ini_file_loader.loadSharedConfigFiles)(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === void 0) {\n throw new Error();\n }\n return configValue;\n } catch (e) {\n throw new import_property_provider.CredentialsProviderError(\n e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`,\n { logger: init.logger }\n );\n }\n}, \"fromSharedConfigFiles\");\n\n// src/fromStatic.ts\n\nvar isFunction = /* @__PURE__ */ __name((func) => typeof func === \"function\", \"isFunction\");\nvar fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : (0, import_property_provider.fromStatic)(defaultValue), \"fromStatic\");\n\n// src/configLoader.ts\nvar loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return (0, import_property_provider.memoize)(\n (0, import_property_provider.chain)(\n fromEnv(environmentVariableSelector, envOptions),\n fromSharedConfigFiles(configFileSelector, configuration),\n fromStatic(defaultValue)\n )\n );\n}, \"loadConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n loadConfig\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrlConfig = void 0;\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nconst getEndpointUrlConfig = (serviceId) => ({\n environmentVariableSelector: (env) => {\n const serviceSuffixParts = serviceId.split(\" \").map((w) => w.toUpperCase());\n const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join(\"_\")];\n if (serviceEndpointUrl)\n return serviceEndpointUrl;\n const endpointUrl = env[ENV_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n configFileSelector: (profile, config) => {\n if (config && profile.services) {\n const servicesSection = config[[\"services\", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (servicesSection) {\n const servicePrefixParts = serviceId.split(\" \").map((w) => w.toLowerCase());\n const endpointUrl = servicesSection[[servicePrefixParts.join(\"_\"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (endpointUrl)\n return endpointUrl;\n }\n }\n const endpointUrl = profile[CONFIG_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n default: undefined,\n});\nexports.getEndpointUrlConfig = getEndpointUrlConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromConfig = void 0;\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst getEndpointUrlConfig_1 = require(\"./getEndpointUrlConfig\");\nconst getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId !== null && serviceId !== void 0 ? serviceId : \"\"))();\nexports.getEndpointFromConfig = getEndpointFromConfig;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n parseQueryString: () => parseQueryString\n});\nmodule.exports = __toCommonJS(index_exports);\nfunction parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n__name(parseQueryString, \"parseQueryString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n parseQueryString\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n parseUrl: () => parseUrl\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_querystring_parser = require(\"@smithy/querystring-parser\");\nvar parseUrl = /* @__PURE__ */ __name((url) => {\n if (typeof url === \"string\") {\n return parseUrl(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = (0, import_querystring_parser.parseQueryString)(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : void 0,\n protocol,\n path: pathname,\n query\n };\n}, \"parseUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n parseUrl\n});\n\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n getSmithyContext: () => getSmithyContext,\n normalizeProvider: () => normalizeProvider\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/getSmithyContext.ts\nvar import_types = require(\"@smithy/types\");\nvar getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), \"getSmithyContext\");\n\n// src/normalizeProvider.ts\nvar normalizeProvider = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"function\") return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n}, \"normalizeProvider\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSmithyContext,\n normalizeProvider\n});\n\n", "export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Field: () => Field,\n Fields: () => Fields,\n HttpRequest: () => HttpRequest,\n HttpResponse: () => HttpResponse,\n IHttpRequest: () => import_types.HttpRequest,\n getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration,\n isValidHostname: () => isValidHostname,\n resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/extensions/httpExtensionConfiguration.ts\nvar getHttpHandlerExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n }\n };\n}, \"getHttpHandlerExtensionConfiguration\");\nvar resolveHttpHandlerRuntimeConfig = /* @__PURE__ */ __name((httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler()\n };\n}, \"resolveHttpHandlerRuntimeConfig\");\n\n// src/Field.ts\nvar import_types = require(\"@smithy/types\");\nvar Field = class {\n static {\n __name(this, \"Field\");\n }\n constructor({ name, kind = import_types.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n /**\n * Appends a value to the field.\n *\n * @param value The value to append.\n */\n add(value) {\n this.values.push(value);\n }\n /**\n * Overwrite existing field values.\n *\n * @param values The new field values.\n */\n set(values) {\n this.values = values;\n }\n /**\n * Remove all matching entries from list.\n *\n * @param value Value to remove.\n */\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n /**\n * Get comma-delimited string.\n *\n * @returns String representation of {@link Field}.\n */\n toString() {\n return this.values.map((v) => v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v).join(\", \");\n }\n /**\n * Get string values as a list\n *\n * @returns Values in {@link Field} as a list.\n */\n get() {\n return this.values;\n }\n};\n\n// src/Fields.ts\nvar Fields = class {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n static {\n __name(this, \"Fields\");\n }\n /**\n * Set entry for a {@link Field} name. The `name`\n * attribute will be used to key the collection.\n *\n * @param field The {@link Field} to set.\n */\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n /**\n * Retrieve {@link Field} entry by name.\n *\n * @param name The name of the {@link Field} entry\n * to retrieve\n * @returns The {@link Field} if it exists.\n */\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n /**\n * Delete entry from collection.\n *\n * @param name Name of the entry to delete.\n */\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n /**\n * Helper function for retrieving specific types of fields.\n * Used to grab all headers or all trailers.\n *\n * @param kind {@link FieldPosition} of entries to retrieve.\n * @returns The {@link Field} entries with the specified\n * {@link FieldPosition}.\n */\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n};\n\n// src/httpRequest.ts\n\nvar HttpRequest = class _HttpRequest {\n static {\n __name(this, \"HttpRequest\");\n }\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol ? options.protocol.slice(-1) !== \":\" ? `${options.protocol}:` : options.protocol : \"https:\";\n this.path = options.path ? options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n /**\n * Note: this does not deep-clone the body.\n */\n static clone(request) {\n const cloned = new _HttpRequest({\n ...request,\n headers: { ...request.headers }\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n /**\n * This method only actually asserts that request is the interface {@link IHttpRequest},\n * and not necessarily this concrete class. Left in place for API stability.\n *\n * Do not call instance methods on the input of this function, and\n * do not assume it has the HttpRequest prototype.\n */\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return \"method\" in req && \"protocol\" in req && \"hostname\" in req && \"path\" in req && typeof req[\"query\"] === \"object\" && typeof req[\"headers\"] === \"object\";\n }\n /**\n * @deprecated use static HttpRequest.clone(request) instead. It's not safe to call\n * this method because {@link HttpRequest.isInstance} incorrectly\n * asserts that IHttpRequest (interface) objects are of type HttpRequest (class).\n */\n clone() {\n return _HttpRequest.clone(this);\n }\n};\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param\n };\n }, {});\n}\n__name(cloneQuery, \"cloneQuery\");\n\n// src/httpResponse.ts\nvar HttpResponse = class {\n static {\n __name(this, \"HttpResponse\");\n }\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response) return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n};\n\n// src/isValidHostname.ts\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n__name(isValidHostname, \"isValidHostname\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getHttpHandlerExtensionConfiguration,\n resolveHttpHandlerRuntimeConfig,\n Field,\n Fields,\n HttpRequest,\n HttpResponse,\n isValidHostname\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n deserializerMiddleware: () => deserializerMiddleware,\n deserializerMiddlewareOption: () => deserializerMiddlewareOption,\n getSerdePlugin: () => getSerdePlugin,\n serializerMiddleware: () => serializerMiddleware,\n serializerMiddlewareOption: () => serializerMiddlewareOption\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/deserializerMiddleware.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed\n };\n } catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n } catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n } else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (import_protocol_http.HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries)\n };\n }\n } catch (e) {\n }\n }\n throw error;\n }\n}, \"deserializerMiddleware\");\nvar findHeader = /* @__PURE__ */ __name((pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 0])[1];\n}, \"findHeader\");\n\n// src/serializerMiddleware.ts\nvar serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2?.url && endpointConfig.urlParser ? async () => endpointConfig.urlParser(context.endpointV2.url) : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request\n });\n}, \"serializerMiddleware\");\n\n// src/serdePlugin.ts\nvar deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true\n};\nvar serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: /* @__PURE__ */ __name((commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n }, \"applyToStack\")\n };\n}\n__name(getSerdePlugin, \"getSerdePlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n deserializerMiddleware,\n deserializerMiddlewareOption,\n serializerMiddlewareOption,\n getSerdePlugin,\n serializerMiddleware\n});\n\n", "import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n", "export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n", "import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n isArrayBuffer: () => isArrayBuffer\n});\nmodule.exports = __toCommonJS(index_exports);\nvar isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\", \"isArrayBuffer\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n isArrayBuffer\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromArrayBuffer: () => fromArrayBuffer,\n fromString: () => fromString\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\nvar import_buffer = require(\"buffer\");\nvar fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {\n if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return import_buffer.Buffer.from(input, offset, length);\n}, \"fromArrayBuffer\");\nvar fromString = /* @__PURE__ */ __name((input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);\n}, \"fromString\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromArrayBuffer,\n fromString\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromUtf8: () => fromUtf8,\n toUint8Array: () => toUint8Array,\n toUtf8: () => toUtf8\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/fromUtf8.ts\nvar import_util_buffer_from = require(\"@smithy/util-buffer-from\");\nvar fromUtf8 = /* @__PURE__ */ __name((input) => {\n const buf = (0, import_util_buffer_from.fromString)(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n}, \"fromUtf8\");\n\n// src/toUint8Array.ts\nvar toUint8Array = /* @__PURE__ */ __name((data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}, \"toUint8Array\");\n\n// src/toUtf8.ts\n\nvar toUtf8 = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n}, \"toUtf8\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromUtf8,\n toUint8Array,\n toUtf8\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = (0, util_utf8_1.fromUtf8)(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\nexports.toBase64 = toBase64;\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"././fromBase64\"), module.exports);\n__reExport(index_exports, require(\"././toBase64\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromBase64,\n toBase64\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_1 = require(\"stream\");\nclass ChecksumStream extends stream_1.Duplex {\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n var _a, _b;\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBlob = exports.isReadableStream = void 0;\nconst isReadableStream = (stream) => {\n var _a;\n return typeof ReadableStream === \"function\" &&\n (((_a = stream === null || stream === void 0 ? void 0 : stream.constructor) === null || _a === void 0 ? void 0 : _a.name) === ReadableStream.name || stream instanceof ReadableStream);\n};\nexports.isReadableStream = isReadableStream;\nconst isBlob = (blob) => {\n var _a;\n return typeof Blob === \"function\" && (((_a = blob === null || blob === void 0 ? void 0 : blob.constructor) === null || _a === void 0 ? void 0 : _a.name) === Blob.name || blob instanceof Blob);\n};\nexports.isBlob = isBlob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nclass ChecksumStream extends ReadableStreamRef {\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_browser_1 = require(\"./ChecksumStream.browser\");\nconst createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n var _a, _b;\n if (!(0, stream_type_check_1.isReadableStream)(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${(_b = (_a = source === null || source === void 0 ? void 0 : source.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : source} in ChecksumStream.`);\n }\n const encoder = base64Encoder !== null && base64Encoder !== void 0 ? base64Encoder : util_base64_1.toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype);\n return readable;\n};\nexports.createChecksumStream = createChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = createChecksumStream;\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_1 = require(\"./ChecksumStream\");\nconst createChecksumStream_browser_1 = require(\"./createChecksumStream.browser\");\nfunction createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && (0, stream_type_check_1.isReadableStream)(init.source)) {\n return (0, createChecksumStream_browser_1.createChecksumStream)(init);\n }\n return new ChecksumStream_1.ChecksumStream(init);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ByteArrayCollector = void 0;\nclass ByteArrayCollector {\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n this.byteLength = 0;\n this.byteArrays = [];\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\nexports.ByteArrayCollector = ByteArrayCollector;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = void 0;\nexports.createBufferedReadableStream = createBufferedReadableStream;\nexports.merge = merge;\nexports.flush = flush;\nexports.sizeOf = sizeOf;\nexports.modeOf = modeOf;\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nfunction createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger === null || logger === void 0 ? void 0 : logger.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexports.createBufferedReadable = createBufferedReadableStream;\nfunction merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nfunction flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nfunction sizeOf(chunk) {\n var _a, _b;\n return (_b = (_a = chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) !== null && _a !== void 0 ? _a : chunk === null || chunk === void 0 ? void 0 : chunk.length) !== null && _b !== void 0 ? _b : 0;\n}\nfunction modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = createBufferedReadable;\nconst node_stream_1 = require(\"node:stream\");\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nconst createBufferedReadableStream_1 = require(\"./createBufferedReadableStream\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction createBufferedReadable(upstream, size, logger) {\n if ((0, stream_type_check_1.isReadableStream)(upstream)) {\n return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);\n }\n const downstream = new node_stream_1.Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector_1.ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);\n bytesSeen += chunkSize;\n const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger === null || logger === void 0 ? void 0 : logger.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);\n if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst stream_1 = require(\"stream\");\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const awsChunkedEncodingStream = new stream_1.Readable({ read: () => { } });\n readableStream.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readableStream.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = headStream;\nasync function headStream(stream, bytes) {\n var _a;\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += (_a = value === null || value === void 0 ? void 0 : value.byteLength) !== null && _a !== void 0 ? _a : 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = void 0;\nconst stream_1 = require(\"stream\");\nconst headStream_browser_1 = require(\"./headStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst headStream = (stream, bytes) => {\n if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return (0, headStream_browser_1.headStream)(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nexports.headStream = headStream;\nclass Collector extends stream_1.Writable {\n constructor() {\n super(...arguments);\n this.buffers = [];\n this.limit = Infinity;\n this.bytesBuffered = 0;\n }\n _write(chunk, encoding, callback) {\n var _a;\n this.buffers.push(chunk);\n this.bytesBuffered += (_a = chunk.byteLength) !== null && _a !== void 0 ? _a : 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n", "var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n DEFAULT_REQUEST_TIMEOUT: () => DEFAULT_REQUEST_TIMEOUT,\n NodeHttp2Handler: () => NodeHttp2Handler,\n NodeHttpHandler: () => NodeHttpHandler,\n streamCollector: () => streamCollector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/node-http-handler.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\nvar import_http = require(\"http\");\nvar import_https = require(\"https\");\n\n// src/constants.ts\nvar NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\n// src/get-transformed-headers.ts\nvar getTransformedHeaders = /* @__PURE__ */ __name((headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n}, \"getTransformedHeaders\");\n\n// src/timing.ts\nvar timing = {\n setTimeout: /* @__PURE__ */ __name((cb, ms) => setTimeout(cb, ms), \"setTimeout\"),\n clearTimeout: /* @__PURE__ */ __name((timeoutId) => clearTimeout(timeoutId), \"clearTimeout\")\n};\n\n// src/set-connection-timeout.ts\nvar DEFER_EVENT_LISTENER_TIME = 1e3;\nvar setConnectionTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = /* @__PURE__ */ __name((offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(\n Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\"\n })\n );\n }, timeoutInMs - offset);\n const doWithSocket = /* @__PURE__ */ __name((socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n } else {\n timing.clearTimeout(timeoutId);\n }\n }, \"doWithSocket\");\n if (request.socket) {\n doWithSocket(request.socket);\n } else {\n request.on(\"socket\", doWithSocket);\n }\n }, \"registerTimeout\");\n if (timeoutInMs < 2e3) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n}, \"setConnectionTimeout\");\n\n// src/set-socket-keep-alive.ts\nvar DEFER_EVENT_LISTENER_TIME2 = 3e3;\nvar setSocketKeepAlive = /* @__PURE__ */ __name((request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME2) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = /* @__PURE__ */ __name(() => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n } else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n }, \"registerListener\");\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n}, \"setSocketKeepAlive\");\n\n// src/set-socket-timeout.ts\nvar DEFER_EVENT_LISTENER_TIME3 = 3e3;\nvar setSocketTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = DEFAULT_REQUEST_TIMEOUT) => {\n const registerTimeout = /* @__PURE__ */ __name((offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = /* @__PURE__ */ __name(() => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n }, \"onTimeout\");\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n } else {\n request.setTimeout(timeout, onTimeout);\n }\n }, \"registerTimeout\");\n if (0 < timeoutInMs && timeoutInMs < 6e3) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(\n registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME3),\n DEFER_EVENT_LISTENER_TIME3\n );\n}, \"setSocketTimeout\");\n\n// src/write-request-body.ts\nvar import_stream = require(\"stream\");\nvar MIN_WAIT_TIME = 6e3;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME) {\n const headers = request.headers ?? {};\n const expect = headers[\"Expect\"] || headers[\"expect\"];\n let timeoutId = -1;\n let sendBody = true;\n if (expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n })\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\n__name(writeRequestBody, \"writeRequestBody\");\nfunction writeBody(httpRequest, body) {\n if (body instanceof import_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" && uint8.buffer && typeof uint8.byteOffset === \"number\" && typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n__name(writeBody, \"writeBody\");\n\n// src/node-http-handler.ts\nvar DEFAULT_REQUEST_TIMEOUT = 0;\nvar NodeHttpHandler = class _NodeHttpHandler {\n constructor(options) {\n this.socketWarningTimestamp = 0;\n // Node http handler is hard-coded to http/1.1: https://github.com/nodejs/node/blob/ff5664b83b89c55e4ab5d5f60068fb457f1f5872/lib/_http_server.js#L286\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options().then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n }).catch(reject);\n } else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n static {\n __name(this, \"NodeHttpHandler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _NodeHttpHandler(instanceOrOptions);\n }\n /**\n * @internal\n *\n * @param agent - http(s) agent in use by the NodeHttpHandler instance.\n * @param socketWarningTimestamp - last socket usage check timestamp.\n * @param logger - channel for the warning.\n * @returns timestamp of last emitted warning.\n */\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15e3;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(\n `@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`\n );\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout: requestTimeout ?? socketTimeout,\n socketAcquisitionWarningTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof import_http.Agent || typeof httpAgent?.destroy === \"function\") {\n return httpAgent;\n }\n return new import_http.Agent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof import_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n return httpsAgent;\n }\n return new import_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = void 0;\n const timeouts = [];\n const resolve = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n }, \"resolve\");\n const reject = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n }, \"reject\");\n if (!this.config) {\n throw new Error(\"Node HTTP request handler config is not resolved\");\n }\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const agent = isSSL ? this.config.httpsAgent : this.config.httpAgent;\n timeouts.push(\n timing.setTimeout(\n () => {\n this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(\n agent,\n this.socketWarningTimestamp,\n this.config.logger\n );\n },\n this.config.socketAcquisitionWarningTimeout ?? (this.config.requestTimeout ?? 2e3) + (this.config.connectionTimeout ?? 1e3)\n )\n );\n const queryString = (0, import_querystring_builder.buildQueryString)(request.query || {});\n let auth = void 0;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n } else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth\n };\n const requestFunc = isSSL ? import_https.request : import_http.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new import_protocol_http.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n } else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = /* @__PURE__ */ __name(() => {\n req.destroy();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n } else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? this.config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout));\n timeouts.push(setSocketTimeout(req, reject, effectiveRequestTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(\n setSocketKeepAlive(req, {\n // @ts-expect-error keepAlive is not public on httpAgent.\n keepAlive: httpAgent.keepAlive,\n // @ts-expect-error keepAliveMsecs is not public on httpAgent.\n keepAliveMsecs: httpAgent.keepAliveMsecs\n })\n );\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n};\n\n// src/node-http2-handler.ts\n\n\nvar import_http22 = require(\"http2\");\n\n// src/node-http2-connection-manager.ts\nvar import_http2 = __toESM(require(\"http2\"));\n\n// src/node-http2-connection-pool.ts\nvar NodeHttp2ConnectionPool = class {\n constructor(sessions) {\n this.sessions = [];\n this.sessions = sessions ?? [];\n }\n static {\n __name(this, \"NodeHttp2ConnectionPool\");\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n};\n\n// src/node-http2-connection-manager.ts\nvar NodeHttp2ConnectionManager = class {\n constructor(config) {\n this.sessionCache = /* @__PURE__ */ new Map();\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n static {\n __name(this, \"NodeHttp2ConnectionManager\");\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = import_http2.default.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\n \"Fail to set maxConcurrentStreams to \" + this.config.maxConcurrency + \"when creating new session for \" + requestContext.destination.toString()\n );\n }\n });\n }\n session.unref();\n const destroySessionCb = /* @__PURE__ */ __name(() => {\n session.destroy();\n this.deleteSession(url, session);\n }, \"destroySessionCb\");\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n /**\n * Delete a session from the connection pool.\n * @param authority The authority of the session to delete.\n * @param session The session to delete.\n */\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n};\n\n// src/node-http2-handler.ts\nvar NodeHttp2Handler = class _NodeHttp2Handler {\n constructor(options) {\n this.metadata = { handlerProtocol: \"h2\" };\n this.connectionManager = new NodeHttp2ConnectionManager({});\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options().then((opts) => {\n resolve(opts || {});\n }).catch(reject);\n } else {\n resolve(options || {});\n }\n });\n }\n static {\n __name(this, \"NodeHttp2Handler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _NodeHttp2Handler(instanceOrOptions);\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = void 0;\n const resolve = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n }, \"resolve\");\n const reject = /* @__PURE__ */ __name(async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n }, \"reject\");\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false\n });\n const rejectWithDestroy = /* @__PURE__ */ __name((err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n }, \"rejectWithDestroy\");\n const queryString = (0, import_querystring_builder.buildQueryString)(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [import_http22.constants.HTTP2_HEADER_PATH]: path,\n [import_http22.constants.HTTP2_HEADER_METHOD]: method\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new import_protocol_http.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = /* @__PURE__ */ __name(() => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n } else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(\n new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`)\n );\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n /**\n * Destroys a session.\n * @param session - the session to destroy.\n */\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n};\n\n// src/stream-collector/collector.ts\n\nvar Collector = class extends import_stream.Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n static {\n __name(this, \"Collector\");\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n};\n\n// src/stream-collector/index.ts\nvar streamCollector = /* @__PURE__ */ __name((stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function() {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n}, \"streamCollector\");\nvar isReadableStreamInstance = /* @__PURE__ */ __name((stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream, \"isReadableStreamInstance\");\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n__name(collectReadableStream, \"collectReadableStream\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n DEFAULT_REQUEST_TIMEOUT,\n NodeHttpHandler,\n NodeHttp2Handler,\n streamCollector\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n FetchHttpHandler: () => FetchHttpHandler,\n keepAliveSupport: () => keepAliveSupport,\n streamCollector: () => streamCollector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/fetch-http-handler.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_querystring_builder = require(\"@smithy/querystring-builder\");\n\n// src/create-request.ts\nfunction createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n__name(createRequest, \"createRequest\");\n\n// src/request-timeout.ts\nfunction requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n__name(requestTimeout, \"requestTimeout\");\n\n// src/fetch-http-handler.ts\nvar keepAliveSupport = {\n supported: void 0\n};\nvar FetchHttpHandler = class _FetchHttpHandler {\n static {\n __name(this, \"FetchHttpHandler\");\n }\n /**\n * @returns the input if it is an HttpHandler of any class,\n * or instantiates a new instance of this handler.\n */\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new _FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n } else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === void 0) {\n keepAliveSupport.supported = Boolean(\n typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\")\n );\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout: requestTimeout2 } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout2 ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = (0, import_querystring_builder.buildQueryString)(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? void 0 : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method,\n credentials\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = /* @__PURE__ */ __name(() => {\n }, \"removeSignalEventListener\");\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != void 0;\n if (!hasReadableStream) {\n return response.blob().then((body2) => ({\n response: new import_protocol_http.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: body2\n })\n }));\n }\n return {\n response: new import_protocol_http.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body\n })\n };\n }),\n requestTimeout(requestTimeoutInMs)\n ];\n if (abortSignal) {\n raceOfPromises.push(\n new Promise((resolve, reject) => {\n const onAbort = /* @__PURE__ */ __name(() => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n }, \"onAbort\");\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = /* @__PURE__ */ __name(() => signal.removeEventListener(\"abort\", onAbort), \"removeSignalEventListener\");\n } else {\n abortSignal.onabort = onAbort;\n }\n })\n );\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = void 0;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n};\n\n// src/stream-collector.ts\nvar import_util_base64 = require(\"@smithy/util-base64\");\nvar streamCollector = /* @__PURE__ */ __name(async (stream) => {\n if (typeof Blob === \"function\" && stream instanceof Blob || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== void 0) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n}, \"streamCollector\");\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = (0, import_util_base64.fromBase64)(base64);\n return new Uint8Array(arrayBuffer);\n}\n__name(collectBlob, \"collectBlob\");\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n__name(collectStream, \"collectStream\");\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = reader.result ?? \"\";\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n__name(readToBase64, \"readToBase64\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n keepAliveSupport,\n FetchHttpHandler,\n streamCollector\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n fromHex: () => fromHex,\n toHex: () => toHex\n});\nmodule.exports = __toCommonJS(index_exports);\nvar SHORT_TO_HEX = {};\nvar HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n } else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\n__name(fromHex, \"fromHex\");\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n__name(toHex, \"toHex\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n fromHex,\n toHex\n});\n\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst fetch_http_handler_1 = require(\"@smithy/fetch-http-handler\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_hex_encoding_1 = require(\"@smithy/util-hex-encoding\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, fetch_http_handler_1.streamCollector)(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return (0, util_base64_1.toBase64)(buf);\n }\n else if (encoding === \"hex\") {\n return (0, util_hex_encoding_1.toHex)(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return (0, util_utf8_1.toUtf8)(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst sdk_stream_mixin_browser_1 = require(\"./sdk-stream-mixin.browser\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n var _a, _b;\n if (!(stream instanceof stream_1.Readable)) {\n try {\n return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream);\n }\n catch (e) {\n const name = ((_b = (_a = stream === null || stream === void 0 ? void 0 : stream.__proto__) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nasync function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nconst stream_1 = require(\"stream\");\nconst splitStream_browser_1 = require(\"./splitStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nasync function splitStream(stream) {\n if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) {\n return (0, splitStream_browser_1.splitStream)(stream);\n }\n const stream1 = new stream_1.PassThrough();\n const stream2 = new stream_1.PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/blob/transforms.ts\nvar import_util_base64 = require(\"@smithy/util-base64\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nfunction transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return (0, import_util_base64.toBase64)(payload);\n }\n return (0, import_util_utf8.toUtf8)(payload);\n}\n__name(transformToString, \"transformToString\");\nfunction transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate((0, import_util_base64.fromBase64)(str));\n }\n return Uint8ArrayBlobAdapter.mutate((0, import_util_utf8.fromUtf8)(str));\n}\n__name(transformFromString, \"transformFromString\");\n\n// src/blob/Uint8ArrayBlobAdapter.ts\nvar Uint8ArrayBlobAdapter = class _Uint8ArrayBlobAdapter extends Uint8Array {\n static {\n __name(this, \"Uint8ArrayBlobAdapter\");\n }\n /**\n * @param source - such as a string or Stream.\n * @returns a new Uint8ArrayBlobAdapter extending Uint8Array.\n */\n static fromString(source, encoding = \"utf-8\") {\n switch (typeof source) {\n case \"string\":\n return transformFromString(source, encoding);\n default:\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n }\n /**\n * @param source - Uint8Array to be mutated.\n * @returns the same Uint8Array but with prototype switched to Uint8ArrayBlobAdapter.\n */\n static mutate(source) {\n Object.setPrototypeOf(source, _Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n /**\n * @param encoding - default 'utf-8'.\n * @returns the blob as string.\n */\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n};\n\n// src/index.ts\n__reExport(index_exports, require(\"./checksum/ChecksumStream\"), module.exports);\n__reExport(index_exports, require(\"./checksum/createChecksumStream\"), module.exports);\n__reExport(index_exports, require(\"././createBufferedReadable\"), module.exports);\n__reExport(index_exports, require(\"././getAwsChunkedEncodingStream\"), module.exports);\n__reExport(index_exports, require(\"././headStream\"), module.exports);\n__reExport(index_exports, require(\"././sdk-stream-mixin\"), module.exports);\n__reExport(index_exports, require(\"././splitStream\"), module.exports);\n__reExport(index_exports, require(\"././stream-type-check\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Uint8ArrayBlobAdapter,\n ChecksumStream,\n createChecksumStream,\n createBufferedReadable,\n getAwsChunkedEncodingStream,\n headStream,\n sdkStreamMixin,\n splitStream,\n isReadableStream,\n isBlob\n});\n\n", "import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n", "export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n", "export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n try {\n const parsed = await config.protocol.deserializeResponse(operationSchema, {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const endpoint = context.endpointV2?.url && config.urlParser\n ? async () => config.urlParser(context.endpointV2.url)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operationSchema, args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n", "import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n", "export class TypeRegistry {\n constructor(namespace, schemas = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n const registry = TypeRegistry.for(this.getNamespace(shapeId));\n registry.schemas.set(qualifiedName, schema);\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n getBaseException() {\n for (const [id, schema] of this.schemas.entries()) {\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return schema;\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n destroy() {\n TypeRegistry.registries.delete(this.namespace);\n this.schemas.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n getNamespace(shapeId) {\n return this.normalizeShapeId(shapeId).split(\"#\")[0];\n }\n}\nTypeRegistry.registries = new Map();\n", "import { TypeRegistry } from \"../TypeRegistry\";\nexport class Schema {\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n TypeRegistry.for(schema.namespace).register(schema.name, schema);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n", "import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = ListSchema.symbol;\n }\n}\nListSchema.symbol = Symbol.for(\"@smithy/lis\");\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = MapSchema.symbol;\n }\n}\nMapSchema.symbol = Symbol.for(\"@smithy/map\");\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = OperationSchema.symbol;\n }\n}\nOperationSchema.symbol = Symbol.for(\"@smithy/ope\");\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = StructureSchema.symbol;\n }\n}\nStructureSchema.symbol = Symbol.for(\"@smithy/str\");\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n", "import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n constructor() {\n super(...arguments);\n this.symbol = ErrorSchema.symbol;\n }\n}\nErrorSchema.symbol = Symbol.for(\"@smithy/err\");\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor,\n});\n", "export const SCHEMA = {\n BLOB: 21,\n STREAMING_BLOB: 42,\n BOOLEAN: 2,\n STRING: 0,\n NUMERIC: 1,\n BIG_INTEGER: 17,\n BIG_DECIMAL: 19,\n DOCUMENT: 15,\n TIMESTAMP_DEFAULT: 4,\n TIMESTAMP_DATE_TIME: 5,\n TIMESTAMP_HTTP_DATE: 6,\n TIMESTAMP_EPOCH_SECONDS: 7,\n LIST_MODIFIER: 64,\n MAP_MODIFIER: 128,\n};\n", "import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n constructor() {\n super(...arguments);\n this.symbol = SimpleSchema.symbol;\n }\n}\nSimpleSchema.symbol = Symbol.for(\"@smithy/sim\");\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n", "import { deref } from \"../deref\";\nimport { ListSchema } from \"./ListSchema\";\nimport { MapSchema } from \"./MapSchema\";\nimport { Schema } from \"./Schema\";\nimport { SCHEMA } from \"./sentinels\";\nimport { SimpleSchema } from \"./SimpleSchema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class NormalizedSchema {\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n this.symbol = NormalizedSchema.symbol;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (Array.isArray(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, NormalizedSchema.translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (this.schema && typeof this.schema === \"object\") {\n this.traits = this.schema?.traits ?? {};\n }\n else {\n this.traits = 0;\n }\n this.name =\n (this.schema instanceof Schema ? this.schema.getName?.() : void 0) ?? this.memberName ?? this.getSchemaName();\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n return Schema[Symbol.hasInstance].bind(this)(lhs);\n }\n static of(ref) {\n if (ref instanceof NormalizedSchema) {\n return ref;\n }\n if (Array.isArray(ref)) {\n const [ns, traits] = ref;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), NormalizedSchema.translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n return new NormalizedSchema(ref);\n }\n static translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return traits;\n }\n getSchema() {\n if (this.schema instanceof NormalizedSchema) {\n Object.assign(this, { schema: this.schema.getSchema() });\n return this.schema;\n }\n if (this.schema instanceof SimpleSchema) {\n return deref(this.schema.schemaRef);\n }\n return deref(this.schema);\n }\n getName(withNamespace = false) {\n if (!withNamespace) {\n if (this.name && this.name.includes(\"#\")) {\n return this.name.split(\"#\")[1];\n }\n }\n return this.name || undefined;\n }\n getMemberName() {\n if (!this.isMemberSchema()) {\n throw new Error(`@smithy/core/schema - non-member schema: ${this.getName(true)}`);\n }\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isListSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.LIST_MODIFIER && inner < SCHEMA.MAP_MODIFIER;\n }\n return inner instanceof ListSchema;\n }\n isMapSchema() {\n const inner = this.getSchema();\n if (typeof inner === \"number\") {\n return inner >= SCHEMA.MAP_MODIFIER && inner <= 255;\n }\n return inner instanceof MapSchema;\n }\n isStructSchema() {\n const inner = this.getSchema();\n return (inner !== null && typeof inner === \"object\" && \"members\" in inner) || inner instanceof StructureSchema;\n }\n isBlobSchema() {\n return this.getSchema() === SCHEMA.BLOB || this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isTimestampSchema() {\n const schema = this.getSchema();\n return typeof schema === \"number\" && schema >= SCHEMA.TIMESTAMP_DEFAULT && schema <= SCHEMA.TIMESTAMP_EPOCH_SECONDS;\n }\n isDocumentSchema() {\n return this.getSchema() === SCHEMA.DOCUMENT;\n }\n isStringSchema() {\n return this.getSchema() === SCHEMA.STRING;\n }\n isBooleanSchema() {\n return this.getSchema() === SCHEMA.BOOLEAN;\n }\n isNumericSchema() {\n return this.getSchema() === SCHEMA.NUMERIC;\n }\n isBigIntegerSchema() {\n return this.getSchema() === SCHEMA.BIG_INTEGER;\n }\n isBigDecimalSchema() {\n return this.getSchema() === SCHEMA.BIG_DECIMAL;\n }\n isStreaming() {\n const streaming = !!this.getMergedTraits().streaming;\n if (streaming) {\n return true;\n }\n return this.getSchema() === SCHEMA.STREAMING_BLOB;\n }\n isIdempotencyToken() {\n if (typeof this.traits === \"number\") {\n return (this.traits & 0b0100) === 0b0100;\n }\n else if (typeof this.traits === \"object\") {\n return !!this.traits.idempotencyToken;\n }\n return false;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return NormalizedSchema.translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return NormalizedSchema.translateTraits(this.traits);\n }\n getKeySchema() {\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], \"key\");\n }\n if (!this.isMapSchema()) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n return this.memberFrom([63 & schema, 0], \"key\");\n }\n return this.memberFrom([schema.keySchema, 0], \"key\");\n }\n getValueSchema() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n if (this.isMapSchema()) {\n return this.memberFrom([63 & schema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return this.memberFrom([63 & schema, 0], \"member\");\n }\n }\n if (schema && typeof schema === \"object\") {\n if (this.isStructSchema()) {\n throw new Error(`may not getValueSchema() on structure ${this.getName(true)}`);\n }\n const collection = schema;\n if (\"valueSchema\" in collection) {\n if (this.isMapSchema()) {\n return this.memberFrom([collection.valueSchema, 0], \"value\");\n }\n else if (this.isListSchema()) {\n return this.memberFrom([collection.valueSchema, 0], \"member\");\n }\n }\n }\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], \"value\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n hasMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n return struct.memberNames.includes(member);\n }\n return false;\n }\n getMemberSchema(member) {\n if (this.isStructSchema()) {\n const struct = this.getSchema();\n if (!struct.memberNames.includes(member)) {\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${member}.`);\n }\n const i = struct.memberNames.indexOf(member);\n const memberSchema = struct.memberList[i];\n return this.memberFrom(Array.isArray(memberSchema) ? memberSchema : [memberSchema, 0], member);\n }\n if (this.isDocumentSchema()) {\n return this.memberFrom([SCHEMA.DOCUMENT, 0], member);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no members.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n for (let i = 0; i < struct.memberNames.length; ++i) {\n yield [struct.memberNames[i], this.memberFrom([struct.memberList[i], 0], struct.memberNames[i])];\n }\n }\n memberFrom(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n return new NormalizedSchema(memberSchema, memberName);\n }\n getSchemaName() {\n const schema = this.getSchema();\n if (typeof schema === \"number\") {\n const _schema = 63 & schema;\n const container = 192 & schema;\n const type = Object.entries(SCHEMA).find(([, value]) => {\n return value === _schema;\n })?.[0] ?? \"Unknown\";\n switch (container) {\n case SCHEMA.MAP_MODIFIER:\n return `${type}Map`;\n case SCHEMA.LIST_MODIFIER:\n return `${type}List`;\n case 0:\n return type;\n }\n }\n return \"Unknown\";\n }\n}\nNormalizedSchema.symbol = Symbol.for(\"@smithy/nor\");\n", "export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./TypeRegistry\";\n", "export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n", "export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n", "import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n", "import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}", "import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;", "import crypto from 'crypto';\nexport default {\n randomUUID: crypto.randomUUID\n};", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;", "export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';", "import { v4 as generateIdempotencyToken } from \"uuid\";\nexport { generateIdempotencyToken };\n", "export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n", "export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n", "export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n", "export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n", "export class NumericValue {\n constructor(string, type) {\n this.string = string;\n this.type = type;\n let dot = 0;\n for (let i = 0; i < string.length; ++i) {\n const char = string.charCodeAt(i);\n if (i === 0 && char === 45) {\n continue;\n }\n if (char === 46) {\n if (dot) {\n throw new Error(\"@smithy/core/serde - NumericValue must contain at most one decimal point.\");\n }\n dot = 1;\n continue;\n }\n if (char < 48 || char > 57) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n const prototypeMatch = NumericValue.prototype.isPrototypeOf(object);\n if (prototypeMatch) {\n return prototypeMatch;\n }\n if (typeof _nv.string === \"string\" &&\n typeof _nv.type === \"string\" &&\n _nv.constructor?.name?.endsWith(\"NumericValue\")) {\n return true;\n }\n return prototypeMatch;\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n", "export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n", "import { SCHEMA } from \"@smithy/core/schema\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class EventStreamSerde {\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, event[unionMember].body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, event[unionMember].body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = unionSchema.hasMemberSchema(unionMember);\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(SCHEMA.DOCUMENT, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n break;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n", "export * from \"./EventStreamSerde\";\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nexport class HttpProtocol {\n constructor(options) {\n this.options = options;\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n if (!request.query) {\n request.query = {};\n }\n request.query[k] = v;\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n const operationNs = NormalizedSchema.of(operationSchema);\n const inputNs = NormalizedSchema.of(operationSchema.input);\n if (operationNs.getMergedTraits().endpoint) {\n let hostPrefix = operationNs.getMergedTraits().endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = NormalizedSchema.translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null) {\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n }\n }\n if (hasNonHttpBindingMember && input) {\n serializer.write(schema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === SCHEMA.TIMESTAMP_DEFAULT) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n return nonHttpBindingMembers;\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n", "import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n constructor(input, context) {\n this.input = input;\n this.context = context;\n this.query = {};\n this.method = \"\";\n this.headers = {};\n this.path = \"\";\n this.body = null;\n this.hostname = \"\";\n this.resolvePathStack = [];\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n", "import { SCHEMA } from \"@smithy/core/schema\";\nexport function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === SCHEMA.TIMESTAMP_DATE_TIME ||\n ns.getSchema() === SCHEMA.TIMESTAMP_HTTP_DATE ||\n ns.getSchema() === SCHEMA.TIMESTAMP_EPOCH_SECONDS)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? SCHEMA.TIMESTAMP_HTTP_DATE\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? SCHEMA.TIMESTAMP_DATE_TIME\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer {\n constructor(settings) {\n this.settings = settings;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return parseRfc3339DateTimeWithOffset(data);\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return parseRfc7231DateTime(data);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n switch (true) {\n case ns.isNumericSchema():\n return Number(data);\n case ns.isBigIntegerSchema():\n return BigInt(data);\n case ns.isBigDecimalSchema():\n return new NumericValue(data, \"bigDecimal\");\n case ns.isBooleanSchema():\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer {\n constructor(codecDeserializer, codecSettings) {\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n", "import { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { dateToUtcString, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer {\n constructor(settings) {\n this.settings = settings;\n this.stringBuffer = \"\";\n this.serdeContext = undefined;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n this.stringBuffer = dateToUtcString(value);\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n this.stringBuffer = String(value);\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n", "export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\n", "export { requestBuilder } from \"@smithy/core/protocols\";\n", "export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n", "export class DefaultIdentityProviderConfig {\n constructor(config) {\n this.authSchemes = new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n", "export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n", "export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n", "export const createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\nexport const EXPIRATION_MS = 300000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n", "export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./protocols/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n endpointMiddleware: () => endpointMiddleware,\n endpointMiddlewareOptions: () => endpointMiddlewareOptions,\n getEndpointFromInstructions: () => getEndpointFromInstructions,\n getEndpointPlugin: () => getEndpointPlugin,\n resolveEndpointConfig: () => resolveEndpointConfig,\n resolveEndpointRequiredConfig: () => resolveEndpointRequiredConfig,\n resolveParams: () => resolveParams,\n toEndpointV1: () => toEndpointV1\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/service-customizations/s3.ts\nvar resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\") || bucket.toLowerCase() !== bucket || bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n}, \"resolveParamsForS3\");\nvar DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nvar IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nvar DOTS_PATTERN = /\\.\\./;\nvar isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), \"isDnsCompatibleBucketName\");\nvar isArnBucketName = /* @__PURE__ */ __name((bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n}, \"isArnBucketName\");\n\n// src/adaptors/createConfigValueProvider.ts\nvar createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config) => {\n const configProvider = /* @__PURE__ */ __name(async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n }, \"configProvider\");\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return void 0;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n}, \"createConfigValueProvider\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar import_getEndpointFromConfig = require(\"./adaptors/getEndpointFromConfig\");\n\n// src/adaptors/toEndpointV1.ts\nvar import_url_parser = require(\"@smithy/url-parser\");\nvar toEndpointV1 = /* @__PURE__ */ __name((endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return (0, import_url_parser.parseUrl)(endpoint.url);\n }\n return endpoint;\n }\n return (0, import_url_parser.parseUrl)(endpoint);\n}, \"toEndpointV1\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar getEndpointFromInstructions = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n } else {\n endpointFromConfig = await (0, import_getEndpointFromConfig.getEndpointFromConfig)(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n}, \"getEndpointFromInstructions\");\nvar resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n}, \"resolveParams\");\n\n// src/endpointMiddleware.ts\nvar import_core = require(\"@smithy/core\");\nvar import_util_middleware = require(\"@smithy/util-middleware\");\nvar endpointMiddleware = /* @__PURE__ */ __name(({\n config,\n instructions\n}) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n (0, import_core.setFeature)(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(\n args.input,\n {\n getEndpointParameterInstructions() {\n return instructions;\n }\n },\n { ...config },\n context\n );\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(\n httpAuthOption.signingProperties || {},\n {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet\n },\n authScheme.properties\n );\n }\n }\n return next({\n ...args\n });\n };\n}, \"endpointMiddleware\");\n\n// src/getEndpointPlugin.ts\nvar import_middleware_serde = require(\"@smithy/middleware-serde\");\nvar endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: import_middleware_serde.serializerMiddlewareOption.name\n};\nvar getEndpointPlugin = /* @__PURE__ */ __name((config, instructions) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(\n endpointMiddleware({\n config,\n instructions\n }),\n endpointMiddlewareOptions\n );\n }, \"applyToStack\")\n}), \"getEndpointPlugin\");\n\n// src/resolveEndpointConfig.ts\n\nvar import_getEndpointFromConfig2 = require(\"./adaptors/getEndpointFromConfig\");\nvar resolveEndpointConfig = /* @__PURE__ */ __name((input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await (0, import_util_middleware.normalizeProvider)(endpoint)()) : void 0;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(useDualstackEndpoint ?? false),\n useFipsEndpoint: (0, import_util_middleware.normalizeProvider)(useFipsEndpoint ?? false)\n });\n let configuredEndpointPromise = void 0;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = (0, import_getEndpointFromConfig2.getEndpointFromConfig)(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n}, \"resolveEndpointConfig\");\n\n// src/resolveEndpointRequiredConfig.ts\nvar resolveEndpointRequiredConfig = /* @__PURE__ */ __name((input) => {\n const { endpoint } = input;\n if (endpoint === void 0) {\n input.endpoint = async () => {\n throw new Error(\n \"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\"\n );\n };\n }\n return input;\n}, \"resolveEndpointRequiredConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getEndpointFromInstructions,\n resolveParams,\n toEndpointV1,\n endpointMiddleware,\n endpointMiddlewareOptions,\n getEndpointPlugin,\n resolveEndpointConfig,\n resolveEndpointRequiredConfig\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n constructStack: () => constructStack\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/MiddlewareStack.ts\nvar getAllAliases = /* @__PURE__ */ __name((name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n}, \"getAllAliases\");\nvar getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n}, \"getMiddlewareNameWithAliases\");\nvar constructStack = /* @__PURE__ */ __name(() => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = /* @__PURE__ */ new Set();\n const sort = /* @__PURE__ */ __name((entries) => entries.sort(\n (a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]\n ), \"sort\");\n const removeByName = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByName\");\n const removeByReference = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByReference\");\n const cloneTo = /* @__PURE__ */ __name((toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n }, \"cloneTo\");\n const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n }, \"expandRelativeMiddlewareList\");\n const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === void 0) {\n if (debug) {\n return;\n }\n throw new Error(\n `${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}`\n );\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce(\n (wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n },\n []\n );\n return mainChain;\n }, \"getMiddlewareList\");\n const stack = {\n add: /* @__PURE__ */ __name((middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override) throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ${entry.priority} priority in ${entry.step} step.`\n );\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n }, \"add\"),\n addRelativeTo: /* @__PURE__ */ __name((middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override) throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`\n );\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n }, \"addRelativeTo\"),\n clone: /* @__PURE__ */ __name(() => cloneTo(constructStack()), \"clone\"),\n use: /* @__PURE__ */ __name((plugin) => {\n plugin.applyToStack(stack);\n }, \"use\"),\n remove: /* @__PURE__ */ __name((toRemove) => {\n if (typeof toRemove === \"string\") return removeByName(toRemove);\n else return removeByReference(toRemove);\n }, \"remove\"),\n removeByTag: /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByTag\"),\n concat: /* @__PURE__ */ __name((from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(\n identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false)\n );\n return cloned;\n }, \"concat\"),\n applyToStack: cloneTo,\n identify: /* @__PURE__ */ __name(() => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ?? mw.relation + \" \" + mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n }, \"identify\"),\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\") identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: /* @__PURE__ */ __name((handler, context) => {\n for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n }, \"resolve\")\n };\n return stack;\n}, \"constructStack\");\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n constructStack\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Client: () => Client,\n Command: () => Command,\n NoOpLogger: () => NoOpLogger,\n SENSITIVE_STRING: () => SENSITIVE_STRING2,\n ServiceException: () => ServiceException,\n _json: () => _json,\n collectBody: () => import_protocols.collectBody,\n convertMap: () => convertMap,\n createAggregatedClient: () => createAggregatedClient,\n decorateServiceException: () => decorateServiceException,\n emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion,\n extendedEncodeURIComponent: () => import_protocols.extendedEncodeURIComponent,\n getArrayIfSingleItem: () => getArrayIfSingleItem,\n getDefaultClientConfiguration: () => getDefaultClientConfiguration,\n getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration,\n getValueFromTextNode: () => getValueFromTextNode,\n isSerializableHeaderValue: () => isSerializableHeaderValue,\n loadConfigsForDefaultMode: () => loadConfigsForDefaultMode,\n map: () => map,\n resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig,\n resolvedPath: () => import_protocols.resolvedPath,\n serializeDateTime: () => serializeDateTime,\n serializeFloat: () => serializeFloat,\n take: () => take,\n throwDefaultError: () => throwDefaultError,\n withBaseException: () => withBaseException\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/client.ts\nvar import_middleware_stack = require(\"@smithy/middleware-stack\");\nvar Client = class {\n constructor(config) {\n this.config = config;\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Client\");\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : void 0;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = /* @__PURE__ */ new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n } else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n } else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command).then(\n (result) => callback(null, result.output),\n (err) => callback(err)\n ).catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n () => {\n }\n );\n } else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n};\n\n// src/collect-stream-body.ts\nvar import_protocols = require(\"@smithy/core/protocols\");\n\n// src/command.ts\n\nvar import_types = require(\"@smithy/types\");\n\n// src/schemaLogFilter.ts\nvar import_schema = require(\"@smithy/core/schema\");\nvar SENSITIVE_STRING = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = import_schema.NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n } else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n } else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n__name(schemaLogFilter, \"schemaLogFilter\");\n\n// src/command.ts\nvar Command = class {\n constructor() {\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Command\");\n }\n /**\n * Factory for Command ClassBuilder.\n * @internal\n */\n static classBuilder() {\n return new ClassBuilder();\n }\n /**\n * @internal\n */\n resolveMiddlewareWithContext(clientStack, configuration, options, {\n middlewareFn,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n smithyContext,\n additionalContext,\n CommandCtor\n }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [import_types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext\n },\n ...additionalContext\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request) => requestHandler.handle(request.request, options || {}),\n handlerExecutionContext\n );\n }\n};\nvar ClassBuilder = class {\n constructor() {\n this._init = /* @__PURE__ */ __name(() => {\n }, \"_init\");\n this._ep = {};\n this._middlewareFn = /* @__PURE__ */ __name(() => [], \"_middlewareFn\");\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = void 0;\n this._outputFilterSensitiveLog = void 0;\n this._serializer = null;\n this._deserializer = null;\n }\n static {\n __name(this, \"ClassBuilder\");\n }\n /**\n * Optional init callback.\n */\n init(cb) {\n this._init = cb;\n }\n /**\n * Set the endpoint parameter instructions.\n */\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n /**\n * Add any number of middleware.\n */\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n /**\n * Set the initial handler execution context Smithy field.\n */\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext\n };\n return this;\n }\n /**\n * Set the initial handler execution context.\n */\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n /**\n * Set constant string identifiers for the operation.\n */\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n /**\n * Set the input and output sensistive log filters.\n */\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n /**\n * Sets the serializer.\n */\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n /**\n * Sets the deserializer.\n */\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n /**\n * Sets input/output schema for the operation.\n */\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n /**\n * @returns a Command class with the classBuilder properties.\n */\n build() {\n const closure = this;\n let CommandRef;\n return CommandRef = class extends Command {\n /**\n * @public\n */\n constructor(...[input]) {\n super();\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.serialize = closure._serializer;\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n static {\n __name(this, \"CommandRef\");\n }\n /**\n * @public\n */\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n /**\n * @internal\n */\n resolveMiddleware(stack, configuration, options) {\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (closure._operationSchema ? schemaLogFilter.bind(null, closure._operationSchema.output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext\n });\n }\n };\n }\n};\n\n// src/constants.ts\nvar SENSITIVE_STRING2 = \"***SensitiveInformation***\";\n\n// src/create-aggregated-client.ts\nvar createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) {\n const command2 = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command2, optionsOrCb);\n } else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\") throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command2, optionsOrCb || {}, cb);\n } else {\n return this.send(command2, optionsOrCb);\n }\n }, \"methodImpl\");\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client2.prototype[methodName] = methodImpl;\n }\n}, \"createAggregatedClient\");\n\n// src/exceptions.ts\nvar ServiceException = class _ServiceException extends Error {\n static {\n __name(this, \"ServiceException\");\n }\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n /**\n * Checks if a value is an instance of ServiceException (duck typed)\n */\n static isInstance(value) {\n if (!value) return false;\n const candidate = value;\n return _ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === \"client\" || candidate.$fault === \"server\");\n }\n /**\n * Custom instanceof check to support the operator for ServiceException base class\n */\n static [Symbol.hasInstance](instance) {\n if (!instance) return false;\n const candidate = instance;\n if (this === _ServiceException) {\n return _ServiceException.isInstance(instance);\n }\n if (_ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n};\nvar decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => {\n Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => {\n if (exception[k] == void 0 || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n}, \"decorateServiceException\");\n\n// src/default-error-handler.ts\nvar throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : void 0;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata\n });\n throw decorateServiceException(response, parsedBody);\n}, \"throwDefaultError\");\nvar withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n}, \"withBaseException\");\nvar deserializeMetadata = /* @__PURE__ */ __name((output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"]\n}), \"deserializeMetadata\");\n\n// src/defaults-mode.ts\nvar loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3e4\n };\n default:\n return {};\n }\n}, \"loadConfigsForDefaultMode\");\n\n// src/emitWarningIfUnsupportedVersion.ts\nvar warningEmitted = false;\nvar emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n}, \"emitWarningIfUnsupportedVersion\");\n\n// src/extended-encode-uri-component.ts\n\n\n// src/extensions/checksum.ts\n\nvar getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in import_types.AlgorithmId) {\n const algorithmId = import_types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === void 0) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: /* @__PURE__ */ __name(() => algorithmId, \"algorithmId\"),\n checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig[algorithmId], \"checksumConstructor\")\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n }\n };\n}, \"getChecksumConfiguration\");\nvar resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n}, \"resolveChecksumRuntimeConfig\");\n\n// src/extensions/retry.ts\nvar getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n }\n };\n}, \"getRetryConfiguration\");\nvar resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n}, \"resolveRetryRuntimeConfig\");\n\n// src/extensions/defaultExtensionConfiguration.ts\nvar getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n}, \"getDefaultExtensionConfiguration\");\nvar getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nvar resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n}, \"resolveDefaultRuntimeConfig\");\n\n// src/get-array-if-single-item.ts\nvar getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], \"getArrayIfSingleItem\");\n\n// src/get-value-from-text-node.ts\nvar getValueFromTextNode = /* @__PURE__ */ __name((obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) {\n obj[key] = obj[key][textNodeName];\n } else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n}, \"getValueFromTextNode\");\n\n// src/is-serializable-header-value.ts\nvar isSerializableHeaderValue = /* @__PURE__ */ __name((value) => {\n return value != null;\n}, \"isSerializableHeaderValue\");\n\n// src/NoOpLogger.ts\nvar NoOpLogger = class {\n static {\n __name(this, \"NoOpLogger\");\n }\n trace() {\n }\n debug() {\n }\n info() {\n }\n warn() {\n }\n error() {\n }\n};\n\n// src/object-mapping.ts\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n } else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n } else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\n__name(map, \"map\");\nvar convertMap = /* @__PURE__ */ __name((target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n}, \"convertMap\");\nvar take = /* @__PURE__ */ __name((source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n}, \"take\");\nvar mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => {\n return map(\n target,\n Object.entries(instructions).reduce(\n (_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n } else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n } else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n },\n {}\n )\n );\n}, \"mapWithFilter\");\nvar applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if (typeof filter2 === \"function\" && filter2(source[sourceKey]) || typeof filter2 !== \"function\" && !!filter2) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === void 0 && (_value = value()) != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(void 0) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n } else if (customFilterPassed) {\n target[targetKey] = value();\n }\n } else {\n const defaultFilterPassed = filter === void 0 && value != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(value) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n}, \"applyInstruction\");\nvar nonNullish = /* @__PURE__ */ __name((_) => _ != null, \"nonNullish\");\nvar pass = /* @__PURE__ */ __name((_) => _, \"pass\");\n\n// src/resolve-path.ts\n\n\n// src/ser-utils.ts\nvar serializeFloat = /* @__PURE__ */ __name((value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n}, \"serializeFloat\");\nvar serializeDateTime = /* @__PURE__ */ __name((date) => date.toISOString().replace(\".000Z\", \"Z\"), \"serializeDateTime\");\n\n// src/serde-json.ts\nvar _json = /* @__PURE__ */ __name((obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n}, \"_json\");\n\n// src/index.ts\n__reExport(index_exports, require(\"@smithy/core/serde\"), module.exports);\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Client,\n collectBody,\n Command,\n SENSITIVE_STRING,\n createAggregatedClient,\n throwDefaultError,\n withBaseException,\n loadConfigsForDefaultMode,\n emitWarningIfUnsupportedVersion,\n ServiceException,\n decorateServiceException,\n extendedEncodeURIComponent,\n getDefaultExtensionConfiguration,\n getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig,\n getArrayIfSingleItem,\n getValueFromTextNode,\n isSerializableHeaderValue,\n NoOpLogger,\n convertMap,\n take,\n map,\n resolvedPath,\n serializeFloat,\n serializeDateTime,\n _json,\n LazyJsonString,\n NumericValue,\n copyDocumentWithTransform,\n dateToUtcString,\n expectBoolean,\n expectByte,\n expectFloat32,\n expectInt,\n expectInt32,\n expectLong,\n expectNonNull,\n expectNumber,\n expectObject,\n expectShort,\n expectString,\n expectUnion,\n generateIdempotencyToken,\n handleFloat,\n limitedParseDouble,\n limitedParseFloat,\n limitedParseFloat32,\n logger,\n nv,\n parseBoolean,\n parseEpochTimestamp,\n parseRfc3339DateTime,\n parseRfc3339DateTimeWithOffset,\n parseRfc7231DateTime,\n quoteHeader,\n splitEvery,\n splitHeader,\n strictParseByte,\n strictParseDouble,\n strictParseFloat,\n strictParseFloat32,\n strictParseInt,\n strictParseInt32,\n strictParseLong,\n strictParseShort\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n ALGORITHM_IDENTIFIER: () => ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A: () => ALGORITHM_IDENTIFIER_V4A,\n ALGORITHM_QUERY_PARAM: () => ALGORITHM_QUERY_PARAM,\n ALWAYS_UNSIGNABLE_HEADERS: () => ALWAYS_UNSIGNABLE_HEADERS,\n AMZ_DATE_HEADER: () => AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM: () => AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER: () => AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM: () => CREDENTIAL_QUERY_PARAM,\n DATE_HEADER: () => DATE_HEADER,\n EVENT_ALGORITHM_IDENTIFIER: () => EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM: () => EXPIRES_QUERY_PARAM,\n GENERATED_HEADERS: () => GENERATED_HEADERS,\n HOST_HEADER: () => HOST_HEADER,\n KEY_TYPE_IDENTIFIER: () => KEY_TYPE_IDENTIFIER,\n MAX_CACHE_SIZE: () => MAX_CACHE_SIZE,\n MAX_PRESIGNED_TTL: () => MAX_PRESIGNED_TTL,\n PROXY_HEADER_PATTERN: () => PROXY_HEADER_PATTERN,\n REGION_SET_PARAM: () => REGION_SET_PARAM,\n SEC_HEADER_PATTERN: () => SEC_HEADER_PATTERN,\n SHA256_HEADER: () => SHA256_HEADER,\n SIGNATURE_HEADER: () => SIGNATURE_HEADER,\n SIGNATURE_QUERY_PARAM: () => SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM: () => SIGNED_HEADERS_QUERY_PARAM,\n SignatureV4: () => SignatureV4,\n SignatureV4Base: () => SignatureV4Base,\n TOKEN_HEADER: () => TOKEN_HEADER,\n TOKEN_QUERY_PARAM: () => TOKEN_QUERY_PARAM,\n UNSIGNABLE_PATTERNS: () => UNSIGNABLE_PATTERNS,\n UNSIGNED_PAYLOAD: () => UNSIGNED_PAYLOAD,\n clearCredentialCache: () => clearCredentialCache,\n createScope: () => createScope,\n getCanonicalHeaders: () => getCanonicalHeaders,\n getCanonicalQuery: () => getCanonicalQuery,\n getPayloadHash: () => getPayloadHash,\n getSigningKey: () => getSigningKey,\n hasHeader: () => hasHeader,\n moveHeadersToQuery: () => moveHeadersToQuery,\n prepareRequest: () => prepareRequest,\n signatureV4aContainer: () => signatureV4aContainer\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/SignatureV4.ts\n\nvar import_util_utf85 = require(\"@smithy/util-utf8\");\n\n// src/constants.ts\nvar ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nvar CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nvar AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nvar SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nvar EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nvar SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nvar TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nvar REGION_SET_PARAM = \"X-Amz-Region-Set\";\nvar AUTH_HEADER = \"authorization\";\nvar AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nvar DATE_HEADER = \"date\";\nvar GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nvar SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nvar SHA256_HEADER = \"x-amz-content-sha256\";\nvar TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nvar HOST_HEADER = \"host\";\nvar ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true\n};\nvar PROXY_HEADER_PATTERN = /^proxy-/;\nvar SEC_HEADER_PATTERN = /^sec-/;\nvar UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nvar ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nvar ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nvar EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nvar UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nvar MAX_CACHE_SIZE = 50;\nvar KEY_TYPE_IDENTIFIER = \"aws4_request\";\nvar MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\n// src/credentialDerivation.ts\nvar import_util_hex_encoding = require(\"@smithy/util-hex-encoding\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nvar signingKeyCache = {};\nvar cacheQueue = [];\nvar createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, \"createScope\");\nvar getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${(0, import_util_hex_encoding.toHex)(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return signingKeyCache[cacheKey] = key;\n}, \"getSigningKey\");\nvar clearCredentialCache = /* @__PURE__ */ __name(() => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}, \"clearCredentialCache\");\nvar hmac = /* @__PURE__ */ __name((ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update((0, import_util_utf8.toUint8Array)(data));\n return hash.digest();\n}, \"hmac\");\n\n// src/getCanonicalHeaders.ts\nvar getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == void 0) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n}, \"getCanonicalHeaders\");\n\n// src/getPayloadHash.ts\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\n\nvar import_util_utf82 = require(\"@smithy/util-utf8\");\nvar getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == void 0) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || (0, import_is_array_buffer.isArrayBuffer)(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update((0, import_util_utf82.toUint8Array)(body));\n return (0, import_util_hex_encoding.toHex)(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n}, \"getPayloadHash\");\n\n// src/HeaderFormatter.ts\n\nvar import_util_utf83 = require(\"@smithy/util-utf8\");\nvar HeaderFormatter = class {\n static {\n __name(this, \"HeaderFormatter\");\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = (0, import_util_utf83.fromUtf8)(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 /* boolTrue */ : 1 /* boolFalse */]);\n case \"byte\":\n return Uint8Array.from([2 /* byte */, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3 /* short */);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4 /* integer */);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5 /* long */;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6 /* byteArray */);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = (0, import_util_utf83.fromUtf8)(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7 /* string */);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8 /* timestamp */;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9 /* uuid */;\n uuidBytes.set((0, import_util_hex_encoding.fromHex)(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n};\nvar UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nvar Int64 = class _Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static {\n __name(this, \"Int64\");\n }\n static fromNumber(number) {\n if (number > 9223372036854776e3 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new _Int64(bytes);\n }\n /**\n * Called implicitly by infix arithmetic operators.\n */\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 128;\n if (negative) {\n negate(bytes);\n }\n return parseInt((0, import_util_hex_encoding.toHex)(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n};\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 255;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0) break;\n }\n}\n__name(negate, \"negate\");\n\n// src/headerUtil.ts\nvar hasHeader = /* @__PURE__ */ __name((soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n}, \"hasHeader\");\n\n// src/moveHeadersToQuery.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar moveHeadersToQuery = /* @__PURE__ */ __name((request, options = {}) => {\n const { headers, query = {} } = import_protocol_http.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query\n };\n}, \"moveHeadersToQuery\");\n\n// src/prepareRequest.ts\n\nvar prepareRequest = /* @__PURE__ */ __name((request) => {\n request = import_protocol_http.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n}, \"prepareRequest\");\n\n// src/SignatureV4Base.ts\n\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\nvar import_util_utf84 = require(\"@smithy/util-utf8\");\n\n// src/getCanonicalQuery.ts\nvar import_util_uri_escape = require(\"@smithy/util-uri-escape\");\nvar getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = (0, import_util_uri_escape.escapeUri)(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value)}`;\n } else if (Array.isArray(value)) {\n serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value2)}`]), []).sort().join(\"&\");\n }\n }\n return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join(\"&\");\n}, \"getCanonicalQuery\");\n\n// src/utilDate.ts\nvar iso8601 = /* @__PURE__ */ __name((time) => toDate(time).toISOString().replace(/\\.\\d{3}Z$/, \"Z\"), \"iso8601\");\nvar toDate = /* @__PURE__ */ __name((time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1e3);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1e3);\n }\n return new Date(time);\n }\n return time;\n}, \"toDate\");\n\n// src/SignatureV4Base.ts\nvar SignatureV4Base = class {\n static {\n __name(this, \"SignatureV4Base\");\n }\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = (0, import_util_middleware.normalizeProvider)(region);\n this.credentialProvider = (0, import_util_middleware.normalizeProvider)(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update((0, import_util_utf84.toUint8Array)(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${(0, import_util_hex_encoding.toHex)(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0) continue;\n if (pathSegment === \".\") continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n } else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = (0, import_util_uri_escape.escapeUri)(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" || // @ts-expect-error: Property 'accessKeyId' does not exist on type 'object'.ts(2339)\n typeof credentials.accessKeyId !== \"string\" || // @ts-expect-error: Property 'secretAccessKey' does not exist on type 'object'.ts(2339)\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8)\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n};\n\n// src/SignatureV4.ts\nvar SignatureV4 = class extends SignatureV4Base {\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath\n });\n this.headerFormatter = new HeaderFormatter();\n }\n static {\n __name(this, \"SignatureV4\");\n }\n async presign(originalRequest, options = {}) {\n const {\n signingDate = /* @__PURE__ */ new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n hoistableHeaders,\n signingRegion,\n signingService\n } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs must have an expiration date less than one week in the future\"\n );\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else if (toSign.message) {\n return this.signMessage(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = (0, import_util_hex_encoding.toHex)(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) {\n const promise = this.signEvent(\n {\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body\n },\n {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature\n }\n );\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n async signRequest(requestToSign, {\n signingDate = /* @__PURE__ */ new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService\n } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(\n longDate,\n credentialScope,\n canonicalRequest,\n ALGORITHM_IDENTIFIER\n );\n const hash = new this.sha256(await keyPromise);\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n};\n\n// src/signature-v4a-container.ts\nvar signatureV4aContainer = {\n SignatureV4a: null\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getCanonicalHeaders,\n getCanonicalQuery,\n getPayloadHash,\n moveHeadersToQuery,\n prepareRequest,\n SignatureV4Base,\n hasHeader,\n SignatureV4,\n ALGORITHM_QUERY_PARAM,\n CREDENTIAL_QUERY_PARAM,\n AMZ_DATE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n EXPIRES_QUERY_PARAM,\n SIGNATURE_QUERY_PARAM,\n TOKEN_QUERY_PARAM,\n REGION_SET_PARAM,\n AUTH_HEADER,\n AMZ_DATE_HEADER,\n DATE_HEADER,\n GENERATED_HEADERS,\n SIGNATURE_HEADER,\n SHA256_HEADER,\n TOKEN_HEADER,\n HOST_HEADER,\n ALWAYS_UNSIGNABLE_HEADERS,\n PROXY_HEADER_PATTERN,\n SEC_HEADER_PATTERN,\n UNSIGNABLE_PATTERNS,\n ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A,\n EVENT_ALGORITHM_IDENTIFIER,\n UNSIGNED_PAYLOAD,\n MAX_CACHE_SIZE,\n KEY_TYPE_IDENTIFIER,\n MAX_PRESIGNED_TTL,\n createScope,\n getSigningKey,\n clearCredentialCache,\n signatureV4aContainer\n});\n\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n SelectorType: () => SelectorType,\n booleanSelector: () => booleanSelector,\n numberSelector: () => numberSelector\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/booleanSelector.ts\nvar booleanSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj)) return void 0;\n if (obj[key] === \"true\") return true;\n if (obj[key] === \"false\") return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n}, \"booleanSelector\");\n\n// src/numberSelector.ts\nvar numberSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj)) return void 0;\n const numberValue = parseInt(obj[key], 10);\n if (Number.isNaN(numberValue)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);\n }\n return numberValue;\n}, \"numberSelector\");\n\n// src/types.ts\nvar SelectorType = /* @__PURE__ */ ((SelectorType2) => {\n SelectorType2[\"ENV\"] = \"env\";\n SelectorType2[\"CONFIG\"] = \"shared config entry\";\n return SelectorType2;\n})(SelectorType || {});\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n booleanSelector,\n numberSelector,\n SelectorType\n});\n\n", "export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 18) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js 16.x on January 6, 2025.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/74kJMmI`);\n }\n};\n", "export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n", "export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n", "export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n", "export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n", "export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n", "import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n", "import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n", "export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n", "export const getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n", "export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n", "import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n", "import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n resolvedCredentials = async (options) => boundProvider(options).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_CODE\", \"e\"));\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n", "export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n", "export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n", "export const majorUint64 = 0;\nexport const majorNegativeInt64 = 1;\nexport const majorUnstructuredByteString = 2;\nexport const majorUtf8String = 3;\nexport const majorList = 4;\nexport const majorMap = 5;\nexport const majorTag = 6;\nexport const majorSpecial = 7;\nexport const specialFalse = 20;\nexport const specialTrue = 21;\nexport const specialNull = 22;\nexport const specialUndefined = 23;\nexport const extendedOneByte = 24;\nexport const extendedFloat16 = 25;\nexport const extendedFloat32 = 26;\nexport const extendedFloat64 = 27;\nexport const minorIndefinite = 31;\nexport function alloc(size) {\n return typeof Buffer !== \"undefined\" ? Buffer.alloc(size) : new Uint8Array(size);\n}\nexport const tagSymbol = Symbol(\"@smithy/core/cbor::tagSymbol\");\nexport function tag(data) {\n data[tagSymbol] = true;\n return data;\n}\n", "import { nv } from \"@smithy/core/serde\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, extendedOneByte, majorList, majorMap, majorNegativeInt64, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, minorIndefinite, specialFalse, specialNull, specialTrue, specialUndefined, tag, } from \"./cbor-types\";\nconst USE_TEXT_DECODER = typeof TextDecoder !== \"undefined\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nlet payload = alloc(0);\nlet dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\nconst textDecoder = USE_TEXT_DECODER ? new TextDecoder() : null;\nlet _offset = 0;\nexport function setPayload(bytes) {\n payload = bytes;\n dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\n}\nexport function decode(at, to) {\n if (at >= to) {\n throw new Error(\"unexpected end of (decode) payload.\");\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n switch (major) {\n case majorUint64:\n case majorNegativeInt64:\n case majorTag:\n let unsignedInt;\n let offset;\n if (minor < 24) {\n unsignedInt = minor;\n offset = 1;\n }\n else {\n switch (minor) {\n case extendedOneByte:\n case extendedFloat16:\n case extendedFloat32:\n case extendedFloat64:\n const countLength = minorValueToArgumentLength[minor];\n const countOffset = (countLength + 1);\n offset = countOffset;\n if (to - at < countOffset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n unsignedInt = payload[countIndex];\n }\n else if (countLength === 2) {\n unsignedInt = dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n unsignedInt = dataView.getUint32(countIndex);\n }\n else {\n unsignedInt = dataView.getBigUint64(countIndex);\n }\n break;\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n }\n if (major === majorUint64) {\n _offset = offset;\n return castBigInt(unsignedInt);\n }\n else if (major === majorNegativeInt64) {\n let negativeInt;\n if (typeof unsignedInt === \"bigint\") {\n negativeInt = BigInt(-1) - unsignedInt;\n }\n else {\n negativeInt = -1 - unsignedInt;\n }\n _offset = offset;\n return castBigInt(negativeInt);\n }\n else {\n if (minor === 2 || minor === 3) {\n const length = decodeCount(at + offset, to);\n let b = BigInt(0);\n const start = at + offset + _offset;\n for (let i = start; i < start + length; ++i) {\n b = (b << BigInt(8)) | BigInt(payload[i]);\n }\n _offset = offset + _offset + length;\n return minor === 3 ? -b - BigInt(1) : b;\n }\n else if (minor === 4) {\n const decimalFraction = decode(at + offset, to);\n const [exponent, mantissa] = decimalFraction;\n const normalizer = mantissa < 0 ? -1 : 1;\n const mantissaStr = \"0\".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));\n let numericString;\n const sign = mantissa < 0 ? \"-\" : \"\";\n numericString =\n exponent === 0\n ? mantissaStr\n : mantissaStr.slice(0, mantissaStr.length + exponent) + \".\" + mantissaStr.slice(exponent);\n numericString = numericString.replace(/^0+/g, \"\");\n if (numericString === \"\") {\n numericString = \"0\";\n }\n if (numericString[0] === \".\") {\n numericString = \"0\" + numericString;\n }\n numericString = sign + numericString;\n _offset = offset + _offset;\n return nv(numericString);\n }\n else {\n const value = decode(at + offset, to);\n const valueOffset = _offset;\n _offset = offset + valueOffset;\n return tag({ tag: castBigInt(unsignedInt), value });\n }\n }\n case majorUtf8String:\n case majorMap:\n case majorList:\n case majorUnstructuredByteString:\n if (minor === minorIndefinite) {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8StringIndefinite(at, to);\n case majorMap:\n return decodeMapIndefinite(at, to);\n case majorList:\n return decodeListIndefinite(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteStringIndefinite(at, to);\n }\n }\n else {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8String(at, to);\n case majorMap:\n return decodeMap(at, to);\n case majorList:\n return decodeList(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteString(at, to);\n }\n }\n default:\n return decodeSpecial(at, to);\n }\n}\nfunction bytesToUtf8(bytes, at, to) {\n if (USE_BUFFER && bytes.constructor?.name === \"Buffer\") {\n return bytes.toString(\"utf-8\", at, to);\n }\n if (textDecoder) {\n return textDecoder.decode(bytes.subarray(at, to));\n }\n return toUtf8(bytes.subarray(at, to));\n}\nfunction demote(bigInteger) {\n const num = Number(bigInteger);\n if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {\n console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));\n }\n return num;\n}\nconst minorValueToArgumentLength = {\n [extendedOneByte]: 1,\n [extendedFloat16]: 2,\n [extendedFloat32]: 4,\n [extendedFloat64]: 8,\n};\nexport function bytesToFloat16(a, b) {\n const sign = a >> 7;\n const exponent = (a & 124) >> 2;\n const fraction = ((a & 3) << 8) | b;\n const scalar = sign === 0 ? 1 : -1;\n let exponentComponent;\n let summation;\n if (exponent === 0b00000) {\n if (fraction === 0) {\n return 0;\n }\n else {\n exponentComponent = Math.pow(2, 1 - 15);\n summation = 0;\n }\n }\n else if (exponent === 0b11111) {\n if (fraction === 0) {\n return scalar * Infinity;\n }\n else {\n return NaN;\n }\n }\n else {\n exponentComponent = Math.pow(2, exponent - 15);\n summation = 1;\n }\n summation += fraction / 1024;\n return scalar * (exponentComponent * summation);\n}\nfunction decodeCount(at, to) {\n const minor = payload[at] & 31;\n if (minor < 24) {\n _offset = 1;\n return minor;\n }\n if (minor === extendedOneByte ||\n minor === extendedFloat16 ||\n minor === extendedFloat32 ||\n minor === extendedFloat64) {\n const countLength = minorValueToArgumentLength[minor];\n _offset = (countLength + 1);\n if (to - at < _offset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n return payload[countIndex];\n }\n else if (countLength === 2) {\n return dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n return dataView.getUint32(countIndex);\n }\n return demote(dataView.getBigUint64(countIndex));\n }\n throw new Error(`unexpected minor value ${minor}.`);\n}\nfunction decodeUtf8String(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`string len ${length} greater than remaining buf len.`);\n }\n const value = bytesToUtf8(payload, at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUtf8StringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return bytesToUtf8(data, 0, data.length);\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeUnstructuredByteString(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);\n }\n const value = payload.subarray(at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUnstructuredByteStringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return data;\n }\n const major = (payload[at] & 224) >> 5;\n const minor = payload[at] & 31;\n if (major !== majorUnstructuredByteString) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeList(at, to) {\n const listDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const list = Array(listDataLength);\n for (let i = 0; i < listDataLength; ++i) {\n const item = decode(at, to);\n const itemOffset = _offset;\n list[i] = item;\n at += itemOffset;\n }\n _offset = offset + (at - base);\n return list;\n}\nfunction decodeListIndefinite(at, to) {\n at += 1;\n const list = [];\n for (const base = at; at < to;) {\n if (payload[at] === 255) {\n _offset = at - base + 2;\n return list;\n }\n const item = decode(at, to);\n const n = _offset;\n at += n;\n list.push(item);\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeMap(at, to) {\n const mapDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const map = {};\n for (let i = 0; i < mapDataLength; ++i) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n const major = (payload[at] & 224) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key at index ${at}.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n _offset = offset + (at - base);\n return map;\n}\nfunction decodeMapIndefinite(at, to) {\n at += 1;\n const base = at;\n const map = {};\n for (; at < to;) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n if (payload[at] === 255) {\n _offset = at - base + 2;\n return map;\n }\n const major = (payload[at] & 224) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeSpecial(at, to) {\n const minor = payload[at] & 31;\n switch (minor) {\n case specialTrue:\n case specialFalse:\n _offset = 1;\n return minor === specialTrue;\n case specialNull:\n _offset = 1;\n return null;\n case specialUndefined:\n _offset = 1;\n return null;\n case extendedFloat16:\n if (to - at < 3) {\n throw new Error(\"incomplete float16 at end of buf.\");\n }\n _offset = 3;\n return bytesToFloat16(payload[at + 1], payload[at + 2]);\n case extendedFloat32:\n if (to - at < 5) {\n throw new Error(\"incomplete float32 at end of buf.\");\n }\n _offset = 5;\n return dataView.getFloat32(at + 1);\n case extendedFloat64:\n if (to - at < 9) {\n throw new Error(\"incomplete float64 at end of buf.\");\n }\n _offset = 9;\n return dataView.getFloat64(at + 1);\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n}\nfunction castBigInt(bigInt) {\n if (typeof bigInt === \"number\") {\n return bigInt;\n }\n const num = Number(bigInt);\n if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {\n return num;\n }\n return bigInt;\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, majorList, majorMap, majorNegativeInt64, majorSpecial, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, specialFalse, specialNull, specialTrue, tagSymbol, } from \"./cbor-types\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nconst initialSize = 2048;\nlet data = alloc(initialSize);\nlet dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\nlet cursor = 0;\nfunction ensureSpace(bytes) {\n const remaining = data.byteLength - cursor;\n if (remaining < bytes) {\n if (cursor < 16000000) {\n resize(Math.max(data.byteLength * 4, data.byteLength + bytes));\n }\n else {\n resize(data.byteLength + bytes + 16000000);\n }\n }\n}\nexport function toUint8Array() {\n const out = alloc(cursor);\n out.set(data.subarray(0, cursor), 0);\n cursor = 0;\n return out;\n}\nexport function resize(size) {\n const old = data;\n data = alloc(size);\n if (old) {\n if (old.copy) {\n old.copy(data, 0, 0, old.byteLength);\n }\n else {\n data.set(old, 0);\n }\n }\n dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n}\nfunction encodeHeader(major, value) {\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 1 << 8) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 1 << 16) {\n data[cursor++] = (major << 5) | extendedFloat16;\n dataView.setUint16(cursor, value);\n cursor += 2;\n }\n else if (value < 2 ** 32) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, typeof value === \"bigint\" ? value : BigInt(value));\n cursor += 8;\n }\n}\nexport function encode(_input) {\n const encodeStack = [_input];\n while (encodeStack.length) {\n const input = encodeStack.pop();\n ensureSpace(typeof input === \"string\" ? input.length * 4 : 64);\n if (typeof input === \"string\") {\n if (USE_BUFFER) {\n encodeHeader(majorUtf8String, Buffer.byteLength(input));\n cursor += data.write(input, cursor);\n }\n else {\n const bytes = fromUtf8(input);\n encodeHeader(majorUtf8String, bytes.byteLength);\n data.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n continue;\n }\n else if (typeof input === \"number\") {\n if (Number.isInteger(input)) {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - 1;\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = value >> 8;\n data[cursor++] = value;\n }\n else if (value < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, BigInt(value));\n cursor += 8;\n }\n continue;\n }\n data[cursor++] = (majorSpecial << 5) | extendedFloat64;\n dataView.setFloat64(cursor, input);\n cursor += 8;\n continue;\n }\n else if (typeof input === \"bigint\") {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - BigInt(1);\n const n = Number(value);\n if (n < 24) {\n data[cursor++] = (major << 5) | n;\n }\n else if (n < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = n;\n }\n else if (n < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = n >> 8;\n data[cursor++] = n & 255;\n }\n else if (n < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, n);\n cursor += 4;\n }\n else if (value < BigInt(\"18446744073709551616\")) {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, value);\n cursor += 8;\n }\n else {\n const binaryBigInt = value.toString(2);\n const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));\n let b = value;\n let i = 0;\n while (bigIntBytes.byteLength - ++i >= 0) {\n bigIntBytes[bigIntBytes.byteLength - i] = Number(b & BigInt(255));\n b >>= BigInt(8);\n }\n ensureSpace(bigIntBytes.byteLength * 2);\n data[cursor++] = nonNegative ? 194 : 195;\n if (USE_BUFFER) {\n encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));\n }\n else {\n encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);\n }\n data.set(bigIntBytes, cursor);\n cursor += bigIntBytes.byteLength;\n }\n continue;\n }\n else if (input === null) {\n data[cursor++] = (majorSpecial << 5) | specialNull;\n continue;\n }\n else if (typeof input === \"boolean\") {\n data[cursor++] = (majorSpecial << 5) | (input ? specialTrue : specialFalse);\n continue;\n }\n else if (typeof input === \"undefined\") {\n throw new Error(\"@smithy/core/cbor: client may not serialize undefined value.\");\n }\n else if (Array.isArray(input)) {\n for (let i = input.length - 1; i >= 0; --i) {\n encodeStack.push(input[i]);\n }\n encodeHeader(majorList, input.length);\n continue;\n }\n else if (typeof input.byteLength === \"number\") {\n ensureSpace(input.length * 2);\n encodeHeader(majorUnstructuredByteString, input.length);\n data.set(input, cursor);\n cursor += input.byteLength;\n continue;\n }\n else if (typeof input === \"object\") {\n if (input instanceof NumericValue) {\n const decimalIndex = input.string.indexOf(\".\");\n const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;\n const mantissa = BigInt(input.string.replace(\".\", \"\"));\n data[cursor++] = 196;\n encodeStack.push(mantissa);\n encodeStack.push(exponent);\n encodeHeader(majorList, 2);\n continue;\n }\n if (input[tagSymbol]) {\n if (\"tag\" in input && \"value\" in input) {\n encodeStack.push(input.value);\n encodeHeader(majorTag, input.tag);\n continue;\n }\n else {\n throw new Error(\"tag encountered with missing fields, need 'tag' and 'value', found: \" + JSON.stringify(input));\n }\n }\n const keys = Object.keys(input);\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n encodeStack.push(input[key]);\n encodeStack.push(key);\n }\n encodeHeader(majorMap, keys.length);\n continue;\n }\n throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);\n }\n}\n", "import { decode, setPayload } from \"./cbor-decode\";\nimport { encode, resize, toUint8Array } from \"./cbor-encode\";\nexport const cbor = {\n deserialize(payload) {\n setPayload(payload);\n return decode(0, payload.length);\n },\n serialize(input) {\n try {\n encode(input);\n return toUint8Array();\n }\n catch (e) {\n toUint8Array();\n throw e;\n }\n },\n resizeEncodingBuffer(size) {\n resize(size);\n },\n};\n", "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n calculateBodyLength: () => calculateBodyLength\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/calculateBodyLength.ts\nvar TEXT_ENCODER = typeof TextEncoder == \"function\" ? new TextEncoder() : null;\nvar calculateBodyLength = /* @__PURE__ */ __name((body) => {\n if (typeof body === \"string\") {\n if (TEXT_ENCODER) {\n return TEXT_ENCODER.encode(body).byteLength;\n }\n let len = body.length;\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 127 && code <= 2047) len++;\n else if (code > 2047 && code <= 65535) len += 2;\n if (code >= 56320 && code <= 57343) i--;\n }\n return len;\n } else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n } else if (typeof body.size === \"number\") {\n return body.size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n}, \"calculateBodyLength\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n calculateBodyLength\n});\n\n", "import { collectBody } from \"@smithy/core/protocols\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { cbor } from \"./cbor\";\nimport { tag } from \"./cbor-types\";\nexport const parseCborBody = (streamBody, context) => {\n return collectBody(streamBody, context).then(async (bytes) => {\n if (bytes.length) {\n try {\n return cbor.deserialize(bytes);\n }\n catch (e) {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: context.utf8Encoder(bytes),\n });\n throw e;\n }\n }\n return {};\n });\n};\nexport const dateToTag = (date) => {\n return tag({\n tag: 1,\n value: date.getTime() / 1000,\n });\n};\nexport const parseCborErrorBody = async (errorBody, context) => {\n const value = await parseCborBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadSmithyRpcV2CborErrorCode = (output, data) => {\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n const codeKey = Object.keys(data).find((key) => key.toLowerCase() === \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n};\nexport const checkCborResponse = (response) => {\n if (String(response.headers[\"smithy-protocol\"]).toLowerCase() !== \"rpc-v2-cbor\") {\n throw new Error(\"Malformed RPCv2 CBOR response, status: \" + response.statusCode);\n }\n};\nexport const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers: {\n ...headers,\n },\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n try {\n contents.headers[\"content-length\"] = String(calculateBodyLength(body));\n }\n catch (e) { }\n }\n return new __HttpRequest(contents);\n};\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, parseEpochTimestamp } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { cbor } from \"./cbor\";\nimport { dateToTag } from \"./parseCborBody\";\nexport class CborCodec {\n createSerializer() {\n const serializer = new CborShapeSerializer();\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new CborShapeDeserializer();\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\nexport class CborShapeSerializer {\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n write(schema, value) {\n this.value = this.serialize(schema, value);\n }\n serialize(schema, source) {\n const ns = NormalizedSchema.of(schema);\n if (source == null) {\n if (ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n return source;\n }\n if (ns.isBlobSchema()) {\n if (typeof source === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(source);\n }\n return source;\n }\n if (ns.isTimestampSchema()) {\n if (typeof source === \"number\" || typeof source === \"bigint\") {\n return dateToTag(new Date((Number(source) / 1000) | 0));\n }\n return dateToTag(source);\n }\n if (typeof source === \"function\" || typeof source === \"object\") {\n const sourceObject = source;\n if (ns.isListSchema() && Array.isArray(sourceObject)) {\n const sparse = !!ns.getMergedTraits().sparse;\n const newArray = [];\n let i = 0;\n for (const item of sourceObject) {\n const value = this.serialize(ns.getValueSchema(), item);\n if (value != null || sparse) {\n newArray[i++] = value;\n }\n }\n return newArray;\n }\n if (sourceObject instanceof Date) {\n return dateToTag(sourceObject);\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n for (const key of Object.keys(sourceObject)) {\n const value = this.serialize(ns.getValueSchema(), sourceObject[key]);\n if (value != null || sparse) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n const value = this.serialize(memberSchema, sourceObject[key]);\n if (value != null) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n for (const key of Object.keys(sourceObject)) {\n newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);\n }\n }\n return newObject;\n }\n return source;\n }\n flush() {\n const buffer = cbor.serialize(this.value);\n this.value = undefined;\n return buffer;\n }\n}\nexport class CborShapeDeserializer {\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n read(schema, bytes) {\n const data = cbor.deserialize(bytes);\n return this.readValue(schema, data);\n }\n readValue(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isTimestampSchema() && typeof value === \"number\") {\n return parseEpochTimestamp(value);\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n return value;\n }\n if (typeof value === \"undefined\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n typeof value === \"bigint\" ||\n typeof value === \"symbol\") {\n return value;\n }\n else if (typeof value === \"function\" || typeof value === \"object\") {\n if (value === null) {\n return null;\n }\n if (\"byteLength\" in value) {\n return value;\n }\n if (value instanceof Date) {\n return value;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n if (ns.isListSchema()) {\n const newArray = [];\n const memberSchema = ns.getValueSchema();\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n const itemValue = this.readValue(memberSchema, item);\n if (itemValue != null || sparse) {\n newArray.push(itemValue);\n }\n }\n return newArray;\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const targetSchema = ns.getValueSchema();\n for (const key of Object.keys(value)) {\n const itemValue = this.readValue(targetSchema, value[key]);\n if (itemValue != null || sparse) {\n newObject[key] = itemValue;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n newObject[key] = this.readValue(memberSchema, value[key]);\n }\n }\n return newObject;\n }\n else {\n return value;\n }\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { CborCodec } from \"./CborCodec\";\nimport { loadSmithyRpcV2CborErrorCode } from \"./parseCborBody\";\nexport class SmithyRpcV2CborProtocol extends RpcProtocol {\n constructor({ defaultNamespace }) {\n super({ defaultNamespace });\n this.codec = new CborCodec();\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n }\n getShapeId() {\n return \"smithy.protocols#rpcv2Cbor\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n Object.assign(request.headers, {\n \"content-type\": this.getDefaultContentType(),\n \"smithy-protocol\": \"rpc-v2-cbor\",\n accept: this.getDefaultContentType(),\n });\n if (deref(operationSchema.input) === \"unit\") {\n delete request.body;\n delete request.headers[\"content-type\"];\n }\n else {\n if (!request.body) {\n this.serializer.write(15, {});\n request.body = this.serializer.flush();\n }\n try {\n request.headers[\"content-length\"] = String(request.body.byteLength);\n }\n catch (e) { }\n }\n const { service, operation } = getSmithyContext(context);\n const path = `/service/${service}/operation/${operation}`;\n if (request.path.endsWith(\"/\")) {\n request.path += path.slice(1);\n }\n else {\n request.path += path;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n let namespace = this.options.defaultNamespace;\n if (errorName.includes(\"#\")) {\n [namespace] = errorName.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $response: response,\n $fault: response.statusCode <= 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n let errorSchema;\n try {\n errorSchema = registry.getSchema(errorName);\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const baseExceptionSchema = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace).getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = baseExceptionSchema.ctor;\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/cbor\";\n }\n}\n", "export { cbor } from \"./cbor\";\nexport { tag, tagSymbol } from \"./cbor-types\";\nexport * from \"./parseCborBody\";\nexport * from \"./SmithyRpcV2CborProtocol\";\nexport * from \"./CborCodec\";\n", "import { TypeRegistry } from \"@smithy/core/schema\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nexport class ProtocolLib {\n calculateContentLength(body, serdeContext) {\n const bodyLengthCalculator = serdeContext?.bodyLengthChecker ?? calculateBodyLength;\n return String(bodyLengthCalculator(body));\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $response: response,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const baseExceptionSchema = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace).getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = baseExceptionSchema.ctor;\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n}\n", "import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n}\n", "export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n", "export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nexport function jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n", "import { collectBody } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));\n", "import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (ns.isListSchema() && Array.isArray(value)) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._read(listMember, item));\n }\n }\n return out;\n }\n else if (ns.isMapSchema() && isObject) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._read(mapMember, _v);\n }\n }\n return out;\n }\n else if (ns.isStructSchema() && isObject) {\n const out = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const fromKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;\n const deserializedValue = this._read(memberSchema, value[fromKey]);\n if (deserializedValue != null) {\n out[memberName] = deserializedValue;\n }\n }\n return out;\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return parseRfc3339DateTimeWithOffset(value);\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return parseRfc7231DateTime(value);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nexport class JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema } = this;\n this.rootSchema = undefined;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (ns.isListSchema() && Array.isArray(value)) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n else if (ns.isMapSchema() && isObject) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n else if (ns.isStructSchema() && isObject) {\n const out = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;\n const serializableValue = this._write(memberSchema, value[memberName], ns);\n if (serializableValue !== undefined) {\n out[targetKey] = serializableValue;\n }\n }\n return out;\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if ((ns.isBlobSchema() && (value instanceof Uint8Array || typeof value === \"string\")) ||\n (ns.isDocumentSchema() && value instanceof Uint8Array)) {\n if (ns === this.rootSchema) {\n return value;\n }\n if (!this.serdeContext?.base64Encoder) {\n return toBase64(value);\n }\n return this.serdeContext?.base64Encoder(value);\n }\n if ((ns.isTimestampSchema() || ns.isDocumentSchema()) && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n return dateToUtcString(value);\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (ns.isNumericSchema() && typeof value === \"number\") {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin = new ProtocolLib();\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec = new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_EPOCH_SECONDS,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${NormalizedSchema.of(operationSchema).getName()}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_EPOCH_SECONDS,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.headers[\"content-type\"] && !request.body) {\n request.body = \"{}\";\n }\n if (request.body) {\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n", "import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n", "'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nexport const nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*';\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nexport function getAllMatches(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n}\n\nexport const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n}\n\nexport function isExist(v) {\n return typeof v !== 'undefined';\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexport function merge(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n}\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexport function getValue(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n}\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};", "'use strict';\n\nimport {getAllMatches, isName} from './util.js';\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexport function validate(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n", "\nexport const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n captureMetaData: false,\n};\n \nexport const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n", "'use strict';\n\nlet METADATA_SYMBOL;\n\nif (typeof Symbol !== \"function\") {\n METADATA_SYMBOL = \"@@xmlMetadata\";\n} else {\n METADATA_SYMBOL = Symbol(\"XML Node Metadata\");\n}\n\nexport default class XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node, startIndex) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n // if requested, add the startIndex\n if (startIndex !== undefined) {\n // Note: for now we just overwrite the metadata. If we had more complex metadata,\n // we might need to do an object append here: metadata = { ...metadata, startIndex }\n this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex };\n }\n }\n /** symbol used for metadata */\n static getMetaDataSymbol() {\n return METADATA_SYMBOL;\n }\n}\n", "import {isName} from '../util.js';\n\n//TODO: handle comments\nexport default function readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && hasSeq(xmlData, \"!ENTITY\",i)){\n i += 7; \n let entityName, val;\n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ entityName ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && hasSeq(xmlData, \"!ELEMENT\",i)) {\n i += 8;//Not supported\n const {index} = readElementExp(xmlData,i+1);\n i = index;\n }else if( hasBody && hasSeq(xmlData, \"!ATTLIST\",i)){\n i += 8;//Not supported\n // const {index} = readAttlistExp(xmlData,i+1);\n // i = index;\n }else if( hasBody && hasSeq(xmlData, \"!NOTATION\",i)) {\n i += 9;//Not supported\n const {index} = readNotationExp(xmlData,i+1);\n i = index;\n }else if( hasSeq(xmlData, \"!--\",i) ) comment = true;\n else throw new Error(`Invalid DOCTYPE`);\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst skipWhitespace = (data, index) => {\n while (index < data.length && /\\s/.test(data[index])) {\n index++;\n }\n return index;\n};\n\nfunction readEntityExp(xmlData, i) { \n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n\n // Skip leading whitespace after <!ENTITY\n i = skipWhitespace(xmlData, i);\n\n // Read entity name\n let entityName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i]) && xmlData[i] !== '\"' && xmlData[i] !== \"'\") {\n entityName += xmlData[i];\n i++;\n }\n validateEntityName(entityName);\n\n // Skip whitespace after entity name\n i = skipWhitespace(xmlData, i);\n\n // Check for unsupported constructs (external entities or parameter entities)\n if (xmlData.substring(i, i + 6).toUpperCase() === \"SYSTEM\") {\n throw new Error(\"External entities are not supported\");\n }else if (xmlData[i] === \"%\") {\n throw new Error(\"Parameter entities are not supported\");\n }\n\n // Read entity value (internal entity)\n let entityValue = \"\";\n [i, entityValue] = readIdentifierVal(xmlData, i, \"entity\");\n i--;\n return [entityName, entityValue, i ];\n}\n\nfunction readNotationExp(xmlData, i) {\n // Skip leading whitespace after <!NOTATION\n i = skipWhitespace(xmlData, i);\n\n // Read notation name\n let notationName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n notationName += xmlData[i];\n i++;\n }\n validateEntityName(notationName);\n\n // Skip whitespace after notation name\n i = skipWhitespace(xmlData, i);\n\n // Check identifier type (SYSTEM or PUBLIC)\n const identifierType = xmlData.substring(i, i + 6).toUpperCase();\n if (identifierType !== \"SYSTEM\" && identifierType !== \"PUBLIC\") {\n throw new Error(`Expected SYSTEM or PUBLIC, found \"${identifierType}\"`);\n }\n i += identifierType.length;\n\n // Skip whitespace after identifier type\n i = skipWhitespace(xmlData, i);\n\n // Read public identifier (if PUBLIC)\n let publicIdentifier = null;\n let systemIdentifier = null;\n\n if (identifierType === \"PUBLIC\") {\n [i, publicIdentifier ] = readIdentifierVal(xmlData, i, \"publicIdentifier\");\n\n // Skip whitespace after public identifier\n i = skipWhitespace(xmlData, i);\n\n // Optionally read system identifier\n if (xmlData[i] === '\"' || xmlData[i] === \"'\") {\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i,\"systemIdentifier\");\n }\n } else if (identifierType === \"SYSTEM\") {\n // Read system identifier (mandatory for SYSTEM)\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i, \"systemIdentifier\");\n\n if (!systemIdentifier) {\n throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");\n }\n }\n \n return {notationName, publicIdentifier, systemIdentifier, index: --i};\n}\n\nfunction readIdentifierVal(xmlData, i, type) {\n let identifierVal = \"\";\n const startChar = xmlData[i];\n if (startChar !== '\"' && startChar !== \"'\") {\n throw new Error(`Expected quoted string, found \"${startChar}\"`);\n }\n i++;\n\n while (i < xmlData.length && xmlData[i] !== startChar) {\n identifierVal += xmlData[i];\n i++;\n }\n\n if (xmlData[i] !== startChar) {\n throw new Error(`Unterminated ${type} value`);\n }\n i++;\n return [i, identifierVal];\n}\n\nfunction readElementExp(xmlData, i) {\n // <!ELEMENT br EMPTY>\n // <!ELEMENT div ANY>\n // <!ELEMENT title (#PCDATA)>\n // <!ELEMENT book (title, author+)>\n // <!ELEMENT name (content-model)>\n \n // Skip leading whitespace after <!ELEMENT\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n if (!validateEntityName(elementName)) {\n throw new Error(`Invalid element name: \"${elementName}\"`);\n }\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n let contentModel = \"\";\n // Expect '(' to start content model\n if(xmlData[i] === \"E\" && hasSeq(xmlData, \"MPTY\",i)) i+=4;\n else if(xmlData[i] === \"A\" && hasSeq(xmlData, \"NY\",i)) i+=2;\n else if (xmlData[i] === \"(\") {\n i++; // Move past '('\n\n // Read content model\n while (i < xmlData.length && xmlData[i] !== \")\") {\n contentModel += xmlData[i];\n i++;\n }\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated content model\");\n }\n\n }else{\n throw new Error(`Invalid Element Expression, found \"${xmlData[i]}\"`);\n }\n \n return {\n elementName,\n contentModel: contentModel.trim(),\n index: i\n };\n}\n\nfunction readAttlistExp(xmlData, i) {\n // Skip leading whitespace after <!ATTLIST\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n validateEntityName(elementName)\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute name\n let attributeName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeName += xmlData[i];\n i++;\n }\n\n // Validate attribute name\n if (!validateEntityName(attributeName)) {\n throw new Error(`Invalid attribute name: \"${attributeName}\"`);\n }\n\n // Skip whitespace after attribute name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute type\n let attributeType = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"NOTATION\") {\n attributeType = \"NOTATION\";\n i += 8; // Move past \"NOTATION\"\n\n // Skip whitespace after \"NOTATION\"\n i = skipWhitespace(xmlData, i);\n\n // Expect '(' to start the list of notations\n if (xmlData[i] !== \"(\") {\n throw new Error(`Expected '(', found \"${xmlData[i]}\"`);\n }\n i++; // Move past '('\n\n // Read the list of allowed notations\n let allowedNotations = [];\n while (i < xmlData.length && xmlData[i] !== \")\") {\n let notation = \"\";\n while (i < xmlData.length && xmlData[i] !== \"|\" && xmlData[i] !== \")\") {\n notation += xmlData[i];\n i++;\n }\n\n // Validate notation name\n notation = notation.trim();\n if (!validateEntityName(notation)) {\n throw new Error(`Invalid notation name: \"${notation}\"`);\n }\n\n allowedNotations.push(notation);\n\n // Skip '|' separator or exit loop\n if (xmlData[i] === \"|\") {\n i++; // Move past '|'\n i = skipWhitespace(xmlData, i); // Skip optional whitespace after '|'\n }\n }\n\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated list of notations\");\n }\n i++; // Move past ')'\n\n // Store the allowed notations as part of the attribute type\n attributeType += \" (\" + allowedNotations.join(\"|\") + \")\";\n } else {\n // Handle simple types (e.g., CDATA, ID, IDREF, etc.)\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeType += xmlData[i];\n i++;\n }\n\n // Validate simple attribute type\n const validTypes = [\"CDATA\", \"ID\", \"IDREF\", \"IDREFS\", \"ENTITY\", \"ENTITIES\", \"NMTOKEN\", \"NMTOKENS\"];\n if (!validTypes.includes(attributeType.toUpperCase())) {\n throw new Error(`Invalid attribute type: \"${attributeType}\"`);\n }\n }\n\n // Skip whitespace after attribute type\n i = skipWhitespace(xmlData, i);\n\n // Read default value\n let defaultValue = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"#REQUIRED\") {\n defaultValue = \"#REQUIRED\";\n i += 8;\n } else if (xmlData.substring(i, i + 7).toUpperCase() === \"#IMPLIED\") {\n defaultValue = \"#IMPLIED\";\n i += 7;\n } else {\n [i, defaultValue] = readIdentifierVal(xmlData, i, \"ATTLIST\");\n }\n\n return {\n elementName,\n attributeName,\n attributeType,\n defaultValue,\n index: i\n }\n}\n\nfunction hasSeq(data, seq,i){\n for(let j=0;j<seq.length;j++){\n if(seq[j]!==data[i+j+1]) return false;\n }\n return true;\n}\n\nfunction validateEntityName(name){\n if (isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n", "const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nexport default function toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/.+[eE].+/)!== -1) { //eNotation\n return resolveEnotation(str,trimmedStr,options);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1] || \"\";\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000.\n str[leadingZeros.length+1] === \".\" \n : str[leadingZeros.length] === \".\";\n\n //trim ending zeros for floating number\n if(!options.leadingZeros //leading zeros are not allowed\n && (leadingZeros.length > 1 \n || (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))){\n // 00, 00.3, +03.24, 03, 03.24\n return str;\n }\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const parsedStr = String(num);\n\n if( num === 0) return num;\n if(parsedStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(parsedStr === \"0\") return num; //0.0\n else if(parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( parsedStr === `${sign}${numTrimmedByZeros}`) return num;\n else return str;\n }\n \n let n = leadingZeros? numTrimmedByZeros : trimmedStr;\n if(leadingZeros){\n // -009 => -9\n return (n === parsedStr) || (sign+n === parsedStr) ? num : str\n }else {\n // +9\n return (n === parsedStr) || (n === sign+parsedStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\nconst eNotationRegx = /^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;\nfunction resolveEnotation(str,trimmedStr,options){\n if(!options.eNotation) return str;\n const notation = trimmedStr.match(eNotationRegx); \n if(notation){\n let sign = notation[1] || \"\";\n const eChar = notation[3].indexOf(\"e\") === -1 ? \"E\" : \"e\";\n const leadingZeros = notation[2];\n const eAdjacentToLeadingZeros = sign ? // 0E.\n str[leadingZeros.length+1] === eChar \n : str[leadingZeros.length] === eChar;\n\n if(leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;\n else if(leadingZeros.length === 1 \n && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)){\n return Number(trimmedStr);\n }else if(options.leadingZeros && !eAdjacentToLeadingZeros){ //accept with leading zeros\n //remove leading 0s\n trimmedStr = (notation[1] || \"\") + notation[3];\n return Number(trimmedStr);\n }else return str;\n }else{\n return str;\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substring(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}", "export default function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}", "'use strict';\n///@ts-check\n\nimport {getAllMatches, isExist} from '../util.js';\nimport xmlNode from './xmlNode.js';\nimport readDocType from './DocTypeReader.js';\nimport toNumber from \"strnum\";\nimport getIgnoreAttributesFn from \"../ignoreAttributes.js\";\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nexport default class OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"\u00A2\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"\u00A3\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"\u00A5\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"\u20AC\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"\u00A9\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"\u00AE\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"\u20B9\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath, i);\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n const startIndex = i;\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath, startIndex);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath, startIndex){\n // unset startIndex if not requested\n if (!this.options.captureMetaData) startIndex = undefined;\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n } else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode, startIndex);\n }else{\n currentNode.addChild(childNode, startIndex);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n", "'use strict';\n\nimport XmlNode from './xmlNode.js';\n\nconst METADATA_SYMBOL = XmlNode.getMetaDataSymbol();\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nexport default function prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[METADATA_SYMBOL] !== undefined) {\n val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata\n }\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\n", "import { buildOptions} from './OptionsBuilder.js';\nimport OrderedObjParser from './OrderedObjParser.js';\nimport prettify from './node2json.js';\nimport {validate} from \"../validator.js\";\nimport XmlNode from './xmlNode.js';\n\nexport default class XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n\n /**\n * Returns a Symbol that can be used to access the metadata\n * property on a node.\n * \n * If Symbol is not available in the environment, an ordinary property is used\n * and the name of the property is here returned.\n * \n * The XMLMetaData property is only present when `captureMetaData`\n * is true in the options.\n */\n static getMetaDataSymbol() {\n return XmlNode.getMetaDataSymbol();\n }\n}\n", "'use strict';\n\nimport {validate} from './validator.js';\nimport XMLParser from './xmlparser/XMLParser.js';\nimport XMLBuilder from './xmlbuilder/json2xml.js';\n\nconst XMLValidator = {\n validate: validate\n}\nexport {\n XMLParser,\n XMLValidator,\n XMLBuilder\n};", "import { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const sparse = !!traits.sparse;\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n if (v != null || sparse) {\n buffer.push(this.readSchema(listValue, v));\n }\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n if (value != null || sparse) {\n buffer[key] = this.readSchema(memberNs, value);\n }\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n const parser = new XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(xml, true);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n", "import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n this.writeValue(dateToUtcString(value));\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unsupported document type ${ns.getName(true)}`);\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const suffix = this.getKey(\"member\", member.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keySuffix = this.getKey(\"key\", keySchema.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valueSuffix = this.getKey(\"value\", memberSchema.getMergedTraits().xmlName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const suffix = this.getKey(memberName, member.getMergedTraits().xmlName);\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName) {\n const key = xmlName ?? memberName;\n if (this.settings.capitalizeKeys) {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n", "import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_DATE_TIME,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(SCHEMA.DOCUMENT, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, (registry, errorName) => registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName));\n const ns = NormalizedSchema.of(errorSchema);\n const message = this.loadQueryErrorMessage(dataObject);\n const exception = new errorSchema.ctor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n", "import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n useNestedResult() {\n return false;\n }\n}\n", "import { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(encoded, true);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n XmlNode: () => XmlNode,\n XmlText: () => XmlText\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/escape-attribute.ts\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n__name(escapeAttribute, \"escapeAttribute\");\n\n// src/escape-element.ts\nfunction escapeElement(value) {\n return value.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\\r/g, \"
\").replace(/\\n/g, \"
\").replace(/\\u0085/g, \"…\").replace(/\\u2028/, \"
\");\n}\n__name(escapeElement, \"escapeElement\");\n\n// src/XmlText.ts\nvar XmlText = class {\n constructor(value) {\n this.value = value;\n }\n static {\n __name(this, \"XmlText\");\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n};\n\n// src/XmlNode.ts\nvar XmlNode = class _XmlNode {\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n static {\n __name(this, \"XmlNode\");\n }\n attributes = {};\n static of(name, childText, withName) {\n const node = new _XmlNode(name);\n if (childText !== void 0) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== void 0) {\n node.withName(withName);\n }\n return node;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n /**\n * @internal\n * Alias of {@link XmlNode#withName(string)} for codegen brevity.\n */\n n(name) {\n this.name = name;\n return this;\n }\n /**\n * @internal\n * Alias of {@link XmlNode#addChildNode(string)} for codegen brevity.\n */\n c(child) {\n this.children.push(child);\n return this;\n }\n /**\n * @internal\n * Checked version of {@link XmlNode#addAttribute(string)} for codegen brevity.\n */\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n /**\n * Create a child node.\n * Used in serialization of string fields.\n * @internal\n */\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = _XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n /**\n * Creates list child nodes.\n * @internal\n */\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n /**\n * Creates list child nodes with container.\n * @internal\n */\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new _XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}</${this.name}>`;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n XmlNode,\n XmlText\n});\n\n", "import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case SCHEMA.TIMESTAMP_DATE_TIME:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case SCHEMA.TIMESTAMP_HTTP_DATE:\n nodeContents = dateToUtcString(value);\n break;\n case SCHEMA.TIMESTAMP_EPOCH_SECONDS:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, SCHEMA } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: SCHEMA.TIMESTAMP_DATE_TIME,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.headers[\"content-type\"] === this.getDefaultContentType()) {\n if (typeof request.body === \"string\") {\n request.body = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' + request.body;\n }\n }\n if (request.body) {\n try {\n request.headers[\"content-length\"] = this.mixin.calculateContentLength(request.body, this.serdeContext);\n }\n catch (e) { }\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new errorSchema.ctor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n}\n", "export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n", "export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n build: () => build,\n parse: () => parse,\n validate: () => validate\n});\nmodule.exports = __toCommonJS(index_exports);\nvar validate = /* @__PURE__ */ __name((str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6, \"validate\");\nvar parse = /* @__PURE__ */ __name((arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\") throw new Error(\"Malformed ARN\");\n const [\n ,\n //Skip \"arn\" literal\n partition,\n service,\n region,\n accountId,\n ...resource\n ] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\")\n };\n}, \"parse\");\nvar build = /* @__PURE__ */ __name((arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n}, \"build\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n validate,\n parse,\n build\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: () => NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,\n S3ExpressIdentityCache: () => S3ExpressIdentityCache,\n S3ExpressIdentityCacheEntry: () => S3ExpressIdentityCacheEntry,\n S3ExpressIdentityProviderImpl: () => S3ExpressIdentityProviderImpl,\n SignatureV4S3Express: () => SignatureV4S3Express,\n checkContentLengthHeader: () => checkContentLengthHeader,\n checkContentLengthHeaderMiddlewareOptions: () => checkContentLengthHeaderMiddlewareOptions,\n getCheckContentLengthHeaderPlugin: () => getCheckContentLengthHeaderPlugin,\n getRegionRedirectMiddlewarePlugin: () => getRegionRedirectMiddlewarePlugin,\n getS3ExpiresMiddlewarePlugin: () => getS3ExpiresMiddlewarePlugin,\n getS3ExpressHttpSigningPlugin: () => getS3ExpressHttpSigningPlugin,\n getS3ExpressPlugin: () => getS3ExpressPlugin,\n getThrow200ExceptionsPlugin: () => getThrow200ExceptionsPlugin,\n getValidateBucketNamePlugin: () => getValidateBucketNamePlugin,\n regionRedirectEndpointMiddleware: () => regionRedirectEndpointMiddleware,\n regionRedirectEndpointMiddlewareOptions: () => regionRedirectEndpointMiddlewareOptions,\n regionRedirectMiddleware: () => regionRedirectMiddleware,\n regionRedirectMiddlewareOptions: () => regionRedirectMiddlewareOptions,\n resolveS3Config: () => resolveS3Config,\n s3ExpiresMiddleware: () => s3ExpiresMiddleware,\n s3ExpiresMiddlewareOptions: () => s3ExpiresMiddlewareOptions,\n s3ExpressHttpSigningMiddleware: () => s3ExpressHttpSigningMiddleware,\n s3ExpressHttpSigningMiddlewareOptions: () => s3ExpressHttpSigningMiddlewareOptions,\n s3ExpressMiddleware: () => s3ExpressMiddleware,\n s3ExpressMiddlewareOptions: () => s3ExpressMiddlewareOptions,\n throw200ExceptionsMiddleware: () => throw200ExceptionsMiddleware,\n throw200ExceptionsMiddlewareOptions: () => throw200ExceptionsMiddlewareOptions,\n validateBucketNameMiddleware: () => validateBucketNameMiddleware,\n validateBucketNameMiddlewareOptions: () => validateBucketNameMiddlewareOptions\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/check-content-length-header.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar import_smithy_client = require(\"@smithy/smithy-client\");\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nvar DECODED_CONTENT_LENGTH_HEADER = \"x-amz-decoded-content-length\";\nfunction checkContentLengthHeader() {\n return (next, context) => async (args) => {\n const { request } = args;\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof context?.logger?.warn === \"function\" && !(context.logger instanceof import_smithy_client.NoOpLogger)) {\n context.logger.warn(message);\n } else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\n__name(checkContentLengthHeader, \"checkContentLengthHeader\");\nvar checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true\n};\nvar getCheckContentLengthHeaderPlugin = /* @__PURE__ */ __name((unused) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getCheckContentLengthHeaderPlugin\");\n\n// src/region-redirect-endpoint-middleware.ts\nvar regionRedirectEndpointMiddleware = /* @__PURE__ */ __name((config) => {\n return (next, context) => async (args) => {\n const originalRegion = await config.region();\n const regionProviderRef = config.region;\n let unlock = /* @__PURE__ */ __name(() => {\n }, \"unlock\");\n if (context.__s3RegionRedirect) {\n Object.defineProperty(config, \"region\", {\n writable: false,\n value: /* @__PURE__ */ __name(async () => {\n return context.__s3RegionRedirect;\n }, \"value\")\n });\n unlock = /* @__PURE__ */ __name(() => Object.defineProperty(config, \"region\", {\n writable: true,\n value: regionProviderRef\n }), \"unlock\");\n }\n try {\n const result = await next(args);\n if (context.__s3RegionRedirect) {\n unlock();\n const region = await config.region();\n if (originalRegion !== region) {\n throw new Error(\"Region was not restored following S3 region redirect.\");\n }\n }\n return result;\n } catch (e) {\n unlock();\n throw e;\n }\n };\n}, \"regionRedirectEndpointMiddleware\");\nvar regionRedirectEndpointMiddlewareOptions = {\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectEndpointMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\"\n};\n\n// src/region-redirect-middleware.ts\nfunction regionRedirectMiddleware(clientConfig) {\n return (next, context) => async (args) => {\n try {\n return await next(args);\n } catch (err) {\n if (clientConfig.followRegionRedirects) {\n const statusCode = err?.$metadata?.httpStatusCode;\n const isHeadBucket = context.commandName === \"HeadBucketCommand\";\n const bucketRegionHeader = err?.$response?.headers?.[\"x-amz-bucket-region\"];\n if (bucketRegionHeader) {\n if (statusCode === 301 || statusCode === 400 && (err?.name === \"IllegalLocationConstraintException\" || isHeadBucket)) {\n try {\n const actualRegion = bucketRegionHeader;\n context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);\n context.__s3RegionRedirect = actualRegion;\n } catch (e) {\n throw new Error(\"Region redirect failed: \" + e);\n }\n return next(args);\n }\n }\n }\n throw err;\n }\n };\n}\n__name(regionRedirectMiddleware, \"regionRedirectMiddleware\");\nvar regionRedirectMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectMiddleware\",\n override: true\n};\nvar getRegionRedirectMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);\n clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getRegionRedirectMiddlewarePlugin\");\n\n// src/s3-expires-middleware.ts\n\n\nvar s3ExpiresMiddleware = /* @__PURE__ */ __name((config) => {\n return (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (import_protocol_http.HttpResponse.isInstance(response)) {\n if (response.headers.expires) {\n response.headers.expiresstring = response.headers.expires;\n try {\n (0, import_smithy_client.parseRfc7231DateTime)(response.headers.expires);\n } catch (e) {\n context.logger?.warn(\n `AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`\n );\n delete response.headers.expires;\n }\n }\n }\n return result;\n };\n}, \"s3ExpiresMiddleware\");\nvar s3ExpiresMiddlewareOptions = {\n tags: [\"S3\"],\n name: \"s3ExpiresMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\"\n};\nvar getS3ExpiresMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getS3ExpiresMiddlewarePlugin\");\n\n// src/s3-express/classes/S3ExpressIdentityCache.ts\nvar S3ExpressIdentityCache = class _S3ExpressIdentityCache {\n constructor(data = {}) {\n this.data = data;\n }\n static {\n __name(this, \"S3ExpressIdentityCache\");\n }\n lastPurgeTime = Date.now();\n static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 3e4;\n get(key) {\n const entry = this.data[key];\n if (!entry) {\n return;\n }\n return entry;\n }\n set(key, entry) {\n this.data[key] = entry;\n return entry;\n }\n delete(key) {\n delete this.data[key];\n }\n async purgeExpired() {\n const now = Date.now();\n if (this.lastPurgeTime + _S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {\n return;\n }\n for (const key in this.data) {\n const entry = this.data[key];\n if (!entry.isRefreshing) {\n const credential = await entry.identity;\n if (credential.expiration) {\n if (credential.expiration.getTime() < now) {\n delete this.data[key];\n }\n }\n }\n }\n }\n};\n\n// src/s3-express/classes/S3ExpressIdentityCacheEntry.ts\nvar S3ExpressIdentityCacheEntry = class {\n /**\n * @param identity - stored identity.\n * @param accessed - timestamp of last access in epoch ms.\n * @param isRefreshing - this key is currently in the process of being refreshed (background).\n */\n constructor(_identity, isRefreshing = false, accessed = Date.now()) {\n this._identity = _identity;\n this.isRefreshing = isRefreshing;\n this.accessed = accessed;\n }\n static {\n __name(this, \"S3ExpressIdentityCacheEntry\");\n }\n get identity() {\n this.accessed = Date.now();\n return this._identity;\n }\n};\n\n// src/s3-express/classes/S3ExpressIdentityProviderImpl.ts\nvar S3ExpressIdentityProviderImpl = class _S3ExpressIdentityProviderImpl {\n constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {\n this.createSessionFn = createSessionFn;\n this.cache = cache;\n }\n static {\n __name(this, \"S3ExpressIdentityProviderImpl\");\n }\n static REFRESH_WINDOW_MS = 6e4;\n async getS3ExpressIdentity(awsIdentity, identityProperties) {\n const key = identityProperties.Bucket;\n const { cache } = this;\n const entry = cache.get(key);\n if (entry) {\n return entry.identity.then((identity) => {\n const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();\n if (isExpired) {\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + _S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;\n if (isExpiringSoon && !entry.isRefreshing) {\n entry.isRefreshing = true;\n this.getIdentity(key).then((id) => {\n cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));\n });\n }\n return identity;\n });\n }\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n async getIdentity(key) {\n await this.cache.purgeExpired().catch((error) => {\n console.warn(\"Error while clearing expired entries in S3ExpressIdentityCache: \\n\" + error);\n });\n const session = await this.createSessionFn(key);\n if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {\n throw new Error(\"s3#createSession response credential missing AccessKeyId or SecretAccessKey.\");\n }\n const identity = {\n accessKeyId: session.Credentials.AccessKeyId,\n secretAccessKey: session.Credentials.SecretAccessKey,\n sessionToken: session.Credentials.SessionToken,\n expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : void 0\n };\n return identity;\n }\n};\n\n// src/s3-express/classes/SignatureV4S3Express.ts\nvar import_signature_v4 = require(\"@smithy/signature-v4\");\n\n// src/s3-express/constants.ts\nvar import_util_config_provider = require(\"@smithy/util-config-provider\");\nvar S3_EXPRESS_BUCKET_TYPE = \"Directory\";\nvar S3_EXPRESS_BACKEND = \"S3Express\";\nvar S3_EXPRESS_AUTH_SCHEME = \"sigv4-s3express\";\nvar SESSION_TOKEN_QUERY_PARAM = \"X-Amz-S3session-Token\";\nvar SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = \"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH\";\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = \"s3_disable_express_session_auth\";\nvar NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {\n environmentVariableSelector: /* @__PURE__ */ __name((env) => (0, import_util_config_provider.booleanSelector)(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, import_util_config_provider.SelectorType.ENV), \"environmentVariableSelector\"),\n configFileSelector: /* @__PURE__ */ __name((profile) => (0, import_util_config_provider.booleanSelector)(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, import_util_config_provider.SelectorType.CONFIG), \"configFileSelector\"),\n default: false\n};\n\n// src/s3-express/classes/SignatureV4S3Express.ts\nvar SignatureV4S3Express = class extends import_signature_v4.SignatureV4 {\n static {\n __name(this, \"SignatureV4S3Express\");\n }\n /**\n * Signs with alternate provided credentials instead of those provided in the\n * constructor.\n *\n * Additionally omits the credential sessionToken and assigns it to the\n * alternate header field for S3 Express.\n */\n async signWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return privateAccess.signRequest(requestToSign, options ?? {});\n }\n /**\n * Similar to {@link SignatureV4S3Express#signWithCredentials} but for presigning.\n */\n async presignWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n delete requestToSign.headers[SESSION_TOKEN_HEADER];\n requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n requestToSign.query = requestToSign.query ?? {};\n requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return this.presign(requestToSign, options);\n }\n};\nfunction getCredentialsWithoutSessionToken(credentials) {\n const credentialsWithoutSessionToken = {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n expiration: credentials.expiration\n };\n return credentialsWithoutSessionToken;\n}\n__name(getCredentialsWithoutSessionToken, \"getCredentialsWithoutSessionToken\");\nfunction setSingleOverride(privateAccess, credentialsWithoutSessionToken) {\n const id = setTimeout(() => {\n throw new Error(\"SignatureV4S3Express credential override was created but not called.\");\n }, 10);\n const currentCredentialProvider = privateAccess.credentialProvider;\n const overrideCredentialsProviderOnce = /* @__PURE__ */ __name(() => {\n clearTimeout(id);\n privateAccess.credentialProvider = currentCredentialProvider;\n return Promise.resolve(credentialsWithoutSessionToken);\n }, \"overrideCredentialsProviderOnce\");\n privateAccess.credentialProvider = overrideCredentialsProviderOnce;\n}\n__name(setSingleOverride, \"setSingleOverride\");\n\n// src/s3-express/functions/s3ExpressMiddleware.ts\nvar import_core = require(\"@aws-sdk/core\");\n\nvar s3ExpressMiddleware = /* @__PURE__ */ __name((options) => {\n return (next, context) => async (args) => {\n if (context.endpointV2) {\n const endpoint = context.endpointV2;\n const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;\n const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND || endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;\n if (isS3ExpressBucket) {\n (0, import_core.setFeature)(context, \"S3_EXPRESS_BUCKET\", \"J\");\n context.isS3ExpressBucket = true;\n }\n if (isS3ExpressAuth) {\n const requestBucket = args.input.Bucket;\n if (requestBucket) {\n const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(\n await options.credentials(),\n {\n Bucket: requestBucket\n }\n );\n context.s3ExpressIdentity = s3ExpressIdentity;\n if (import_protocol_http.HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {\n args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;\n }\n }\n }\n }\n return next(args);\n };\n}, \"s3ExpressMiddleware\");\nvar s3ExpressMiddlewareOptions = {\n name: \"s3ExpressMiddleware\",\n step: \"build\",\n tags: [\"S3\", \"S3_EXPRESS\"],\n override: true\n};\nvar getS3ExpressPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getS3ExpressPlugin\");\n\n// src/s3-express/functions/s3ExpressHttpSigningMiddleware.ts\nvar import_core2 = require(\"@smithy/core\");\n\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\n// src/s3-express/functions/signS3Express.ts\nvar signS3Express = /* @__PURE__ */ __name(async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {\n const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});\n if (signedRequest.headers[\"X-Amz-Security-Token\"] || signedRequest.headers[\"x-amz-security-token\"]) {\n throw new Error(\"X-Amz-Security-Token must not be set for s3-express requests.\");\n }\n return signedRequest;\n}, \"signS3Express\");\n\n// src/s3-express/functions/s3ExpressHttpSigningMiddleware.ts\nvar defaultErrorHandler = /* @__PURE__ */ __name((signingProperties) => (error) => {\n throw error;\n}, \"defaultErrorHandler\");\nvar defaultSuccessHandler = /* @__PURE__ */ __name((httpResponse, signingProperties) => {\n}, \"defaultSuccessHandler\");\nvar s3ExpressHttpSigningMiddlewareOptions = import_core2.httpSigningMiddlewareOptions;\nvar s3ExpressHttpSigningMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {\n if (!import_protocol_http.HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const {\n httpAuthOption: { signingProperties = {} },\n identity,\n signer\n } = scheme;\n let request;\n if (context.s3ExpressIdentity) {\n request = await signS3Express(\n context.s3ExpressIdentity,\n signingProperties,\n args.request,\n await config.signer()\n );\n } else {\n request = await signer.sign(args.request, identity, signingProperties);\n }\n const output = await next({\n ...args,\n request\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n}, \"s3ExpressHttpSigningMiddleware\");\nvar getS3ExpressHttpSigningPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(\n s3ExpressHttpSigningMiddleware(config),\n import_core2.httpSigningMiddlewareOptions\n );\n }, \"applyToStack\")\n}), \"getS3ExpressHttpSigningPlugin\");\n\n// src/s3Configuration.ts\nvar resolveS3Config = /* @__PURE__ */ __name((input, {\n session\n}) => {\n const [s3ClientProvider, CreateSessionCommandCtor] = session;\n const {\n forcePathStyle,\n useAccelerateEndpoint,\n disableMultiregionAccessPoints,\n followRegionRedirects,\n s3ExpressIdentityProvider,\n bucketEndpoint\n } = input;\n return Object.assign(input, {\n forcePathStyle: forcePathStyle ?? false,\n useAccelerateEndpoint: useAccelerateEndpoint ?? false,\n disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,\n followRegionRedirects: followRegionRedirects ?? false,\n s3ExpressIdentityProvider: s3ExpressIdentityProvider ?? new S3ExpressIdentityProviderImpl(\n async (key) => s3ClientProvider().send(\n new CreateSessionCommandCtor({\n Bucket: key\n })\n )\n ),\n bucketEndpoint: bucketEndpoint ?? false\n });\n}, \"resolveS3Config\");\n\n// src/throw-200-exceptions.ts\n\nvar import_util_stream = require(\"@smithy/util-stream\");\nvar THROW_IF_EMPTY_BODY = {\n CopyObjectCommand: true,\n UploadPartCopyCommand: true,\n CompleteMultipartUploadCommand: true\n};\nvar MAX_BYTES_TO_INSPECT = 3e3;\nvar throw200ExceptionsMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!import_protocol_http.HttpResponse.isInstance(response)) {\n return result;\n }\n const { statusCode, body: sourceBody } = response;\n if (statusCode < 200 || statusCode >= 300) {\n return result;\n }\n const isSplittableStream = typeof sourceBody?.stream === \"function\" || typeof sourceBody?.pipe === \"function\" || typeof sourceBody?.tee === \"function\";\n if (!isSplittableStream) {\n return result;\n }\n let bodyCopy = sourceBody;\n let body = sourceBody;\n if (sourceBody && typeof sourceBody === \"object\" && !(sourceBody instanceof Uint8Array)) {\n [bodyCopy, body] = await (0, import_util_stream.splitStream)(sourceBody);\n }\n response.body = body;\n const bodyBytes = await collectBody(bodyCopy, {\n streamCollector: /* @__PURE__ */ __name(async (stream) => {\n return (0, import_util_stream.headStream)(stream, MAX_BYTES_TO_INSPECT);\n }, \"streamCollector\")\n });\n if (typeof bodyCopy?.destroy === \"function\") {\n bodyCopy.destroy();\n }\n const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));\n if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyStringTail && bodyStringTail.endsWith(\"</Error>\")) {\n response.statusCode = 400;\n }\n return result;\n}, \"throw200ExceptionsMiddleware\");\nvar collectBody = /* @__PURE__ */ __name((streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n}, \"collectBody\");\nvar throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true\n};\nvar getThrow200ExceptionsPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getThrow200ExceptionsPlugin\");\n\n// src/validate-bucket-name.ts\nvar import_util_arn_parser = require(\"@aws-sdk/util-arn-parser\");\n\n// src/bucket-endpoint-middleware.ts\nfunction bucketEndpointMiddleware(options) {\n return (next, context) => async (args) => {\n if (options.bucketEndpoint) {\n const endpoint = context.endpointV2;\n if (endpoint) {\n const bucket = args.input.Bucket;\n if (typeof bucket === \"string\") {\n try {\n const bucketEndpointUrl = new URL(bucket);\n context.endpointV2 = {\n ...endpoint,\n url: bucketEndpointUrl\n };\n } catch (e) {\n const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;\n if (context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(warning);\n } else {\n context.logger?.warn?.(warning);\n }\n throw e;\n }\n }\n }\n }\n return next(args);\n };\n}\n__name(bucketEndpointMiddleware, \"bucketEndpointMiddleware\");\nvar bucketEndpointMiddlewareOptions = {\n name: \"bucketEndpointMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"endpointV2Middleware\"\n};\n\n// src/validate-bucket-name.ts\nfunction validateBucketNameMiddleware({ bucketEndpoint }) {\n return (next) => async (args) => {\n const {\n input: { Bucket }\n } = args;\n if (!bucketEndpoint && typeof Bucket === \"string\" && !(0, import_util_arn_parser.validate)(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\n__name(validateBucketNameMiddleware, \"validateBucketNameMiddleware\");\nvar validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true\n};\nvar getValidateBucketNamePlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getValidateBucketNamePlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n checkContentLengthHeaderMiddlewareOptions,\n getCheckContentLengthHeaderPlugin,\n checkContentLengthHeader,\n regionRedirectEndpointMiddleware,\n regionRedirectEndpointMiddlewareOptions,\n regionRedirectMiddlewareOptions,\n getRegionRedirectMiddlewarePlugin,\n regionRedirectMiddleware,\n s3ExpiresMiddleware,\n s3ExpiresMiddlewareOptions,\n getS3ExpiresMiddlewarePlugin,\n S3ExpressIdentityCache,\n S3ExpressIdentityCacheEntry,\n S3ExpressIdentityProviderImpl,\n SignatureV4S3Express,\n NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,\n getS3ExpressPlugin,\n s3ExpressMiddleware,\n s3ExpressMiddlewareOptions,\n getS3ExpressHttpSigningPlugin,\n s3ExpressHttpSigningMiddleware,\n s3ExpressHttpSigningMiddlewareOptions,\n resolveS3Config,\n throw200ExceptionsMiddleware,\n throw200ExceptionsMiddlewareOptions,\n getThrow200ExceptionsPlugin,\n validateBucketNameMiddlewareOptions,\n getValidateBucketNamePlugin,\n validateBucketNameMiddleware\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n SignatureV4MultiRegion: () => SignatureV4MultiRegion,\n signatureV4CrtContainer: () => signatureV4CrtContainer\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/SignatureV4MultiRegion.ts\nvar import_middleware_sdk_s3 = require(\"@aws-sdk/middleware-sdk-s3\");\nvar import_signature_v4 = require(\"@smithy/signature-v4\");\n\n// src/signature-v4-crt-container.ts\nvar signatureV4CrtContainer = {\n CrtSignerV4: null\n};\n\n// src/SignatureV4MultiRegion.ts\nvar SignatureV4MultiRegion = class {\n static {\n __name(this, \"SignatureV4MultiRegion\");\n }\n sigv4aSigner;\n sigv4Signer;\n signerOptions;\n static sigv4aDependency() {\n if (typeof signatureV4CrtContainer.CrtSignerV4 === \"function\") {\n return \"crt\";\n } else if (typeof import_signature_v4.signatureV4aContainer.SignatureV4a === \"function\") {\n return \"js\";\n }\n return \"none\";\n }\n constructor(options) {\n this.sigv4Signer = new import_middleware_sdk_s3.SignatureV4S3Express(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n /**\n * Sign with alternate credentials to the ones provided in the constructor.\n * Note: This is only supported for SigV4a when using the CRT implementation.\n */\n async signWithCredentials(requestToSign, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.signWithCredentials(requestToSign, credentials, options);\n } else {\n throw new Error(\n `signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`\n );\n }\n }\n return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);\n }\n /**\n * Presign a request.\n * Note: This is only supported for SigV4a when using the CRT implementation.\n */\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.presign(originalRequest, options);\n } else {\n throw new Error(\n `presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`\n );\n }\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n async presignWithCredentials(originalRequest, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n throw new Error(\"Method presignWithCredentials is not supported for [signingRegion=*].\");\n }\n return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n const JsSigV4aSigner = import_signature_v4.signatureV4aContainer.SignatureV4a;\n if (this.signerOptions.runtime === \"node\") {\n if (!CrtSignerV4 && !JsSigV4aSigner) {\n throw new Error(\n \"Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\"\n );\n }\n if (CrtSignerV4 && typeof CrtSignerV4 === \"function\") {\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1\n });\n } else if (JsSigV4aSigner && typeof JsSigV4aSigner === \"function\") {\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions\n });\n } else {\n throw new Error(\n \"Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\"\n );\n }\n } else {\n if (!JsSigV4aSigner || typeof JsSigV4aSigner !== \"function\") {\n throw new Error(\n \"JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a\"\n );\n }\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions\n });\n }\n }\n return this.sigv4aSigner;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n SignatureV4MultiRegion,\n signatureV4CrtContainer\n});\n\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n S3RequestPresigner: () => S3RequestPresigner,\n getSignedUrl: () => getSignedUrl\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/getSignedUrl.ts\nvar import_util_format_url = require(\"@aws-sdk/util-format-url\");\nvar import_middleware_endpoint = require(\"@smithy/middleware-endpoint\");\nvar import_protocol_http = require(\"@smithy/protocol-http\");\n\n// src/presigner.ts\nvar import_signature_v4_multi_region = require(\"@aws-sdk/signature-v4-multi-region\");\n\n// src/constants.ts\nvar UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nvar SHA256_HEADER = \"X-Amz-Content-Sha256\";\n\n// src/presigner.ts\nvar S3RequestPresigner = class {\n static {\n __name(this, \"S3RequestPresigner\");\n }\n signer;\n constructor(options) {\n const resolvedOptions = {\n // Allow `signingName` because we want to support usecase of supply client's resolved config\n // directly. Where service equals signingName.\n service: options.signingName || options.service || \"s3\",\n uriEscapePath: options.uriEscapePath || false,\n applyChecksum: options.applyChecksum || false,\n ...options\n };\n this.signer = new import_signature_v4_multi_region.SignatureV4MultiRegion(resolvedOptions);\n }\n presign(requestToSign, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n ...options\n } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders\n });\n return this.signer.presign(requestToSign, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options\n });\n }\n presignWithCredentials(requestToSign, credentials, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n ...options\n } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders\n });\n return this.signer.presignWithCredentials(requestToSign, credentials, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options\n });\n }\n prepareRequest(requestToSign, {\n unsignableHeaders = /* @__PURE__ */ new Set(),\n unhoistableHeaders = /* @__PURE__ */ new Set(),\n hoistableHeaders = /* @__PURE__ */ new Set()\n } = {}) {\n unsignableHeaders.add(\"content-type\");\n Object.keys(requestToSign.headers).map((header) => header.toLowerCase()).filter((header) => header.startsWith(\"x-amz-server-side-encryption\")).forEach((header) => {\n if (!hoistableHeaders.has(header)) {\n unhoistableHeaders.add(header);\n }\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n const currentHostHeader = requestToSign.headers.host;\n const port = requestToSign.port;\n const expectedHostHeader = `${requestToSign.hostname}${requestToSign.port != null ? \":\" + port : \"\"}`;\n if (!currentHostHeader || currentHostHeader === requestToSign.hostname && requestToSign.port != null) {\n requestToSign.headers.host = expectedHostHeader;\n }\n }\n};\n\n// src/getSignedUrl.ts\nvar getSignedUrl = /* @__PURE__ */ __name(async (client, command, options = {}) => {\n let s3Presigner;\n let region;\n if (typeof client.config.endpointProvider === \"function\") {\n const endpointV2 = await (0, import_middleware_endpoint.getEndpointFromInstructions)(\n command.input,\n command.constructor,\n client.config\n );\n const authScheme = endpointV2.properties?.authSchemes?.[0];\n if (authScheme?.name === \"sigv4a\") {\n region = authScheme?.signingRegionSet?.join(\",\");\n } else {\n region = authScheme?.signingRegion;\n }\n s3Presigner = new S3RequestPresigner({\n ...client.config,\n signingName: authScheme?.signingName,\n region: /* @__PURE__ */ __name(async () => region, \"region\")\n });\n } else {\n s3Presigner = new S3RequestPresigner(client.config);\n }\n const presignInterceptMiddleware = /* @__PURE__ */ __name((next, context) => async (args) => {\n const { request } = args;\n if (!import_protocol_http.HttpRequest.isInstance(request)) {\n throw new Error(\"Request to be presigned is not an valid HTTP request.\");\n }\n delete request.headers[\"amz-sdk-invocation-id\"];\n delete request.headers[\"amz-sdk-request\"];\n delete request.headers[\"x-amz-user-agent\"];\n let presigned2;\n const presignerOptions = {\n ...options,\n signingRegion: options.signingRegion ?? context[\"signing_region\"] ?? region,\n signingService: options.signingService ?? context[\"signing_service\"]\n };\n if (context.s3ExpressIdentity) {\n presigned2 = await s3Presigner.presignWithCredentials(request, context.s3ExpressIdentity, presignerOptions);\n } else {\n presigned2 = await s3Presigner.presign(request, presignerOptions);\n }\n return {\n // Intercept the middleware stack by returning fake response\n response: {},\n output: {\n $metadata: { httpStatusCode: 200 },\n presigned: presigned2\n }\n };\n }, \"presignInterceptMiddleware\");\n const middlewareName = \"presignInterceptMiddleware\";\n const clientStack = client.middlewareStack.clone();\n clientStack.addRelativeTo(presignInterceptMiddleware, {\n name: middlewareName,\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true\n });\n const handler = command.resolveMiddleware(clientStack, client.config, {});\n const { output } = await handler({ input: command.input });\n const { presigned } = output;\n return (0, import_util_format_url.formatUrl)(presigned);\n}, \"getSignedUrl\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSignedUrl,\n S3RequestPresigner\n});\n\n", "import {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommand,\n PutObjectCommandInput,\n PutObjectCommandOutput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport assert from \"node:assert/strict\";\nimport { PassThrough } from \"node:stream\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\nimport { getSignedUrl } from \"@aws-sdk/s3-request-presigner\";\n\nexport class S3Service {\n logger: GenericLogger;\n client: S3Client;\n constructor({\n logger = getLoggerWithScope(\"S3Service\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new S3Client({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n const donePromise = parallelUploads\n .done()\n .then(() => this.logger.debug(\"upload stream finished\"))\n .catch((err) => {\n this.logger.error(\"upload stream error\", err);\n pass.destroy(err);\n });\n\n return { stream: pass, done: donePromise };\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n this.logger.debug(\"getObject\", getObjectCommandInput);\n\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async getSignedUrl(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<string> {\n this.logger.debug(\"getSignedUrl\", getObjectCommandInput);\n\n const signedUrl = await getSignedUrl(\n this.client,\n new GetObjectCommand(getObjectCommandInput),\n { expiresIn: 3600 }\n );\n\n return signedUrl;\n }\n\n async putObject(\n putObjectCommandInput: PutObjectCommandInput\n ): Promise<PutObjectCommandOutput> {\n this.logger.debug(\"putObject\", putObjectCommandInput);\n\n return await this.client.send(new PutObjectCommand(putObjectCommandInput));\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n this.logger.debug(\"headObject\", headObjectCommandInput);\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n this.logger.debug(\"checkIfObjectExists\", headObjectCommandInput);\n\n try {\n await this.headObject(headObjectCommandInput);\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { GenericLogger } from \"./types.js\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n", "import { extname } from \"node:path\";\n\nexport const JPEG_EXTENSION = \"jpeg\";\nexport const JPG_EXTENSION = \"jpg\";\nexport const HEIC_EXTENSION = \"heic\";\nexport const MOV_EXTENSION = \"mov\";\nexport const THUMBS_EXTENSION = JPG_EXTENSION;\nexport const ENCODED_VIDEO_EXTENSION = \"mp4\";\nexport const ALLOWED_EXTENSIONS = [\n JPEG_EXTENSION,\n JPG_EXTENSION,\n HEIC_EXTENSION\n];\nexport const ALLOWED_VIDEO_EXTENSIONS = [MOV_EXTENSION];\n\nexport const THUMBNAIL_RESOLUTIONS = [\n [200, 200],\n [1180, 820]\n];\n\nexport const getThumbsKey = ({\n key,\n prefix,\n width,\n height\n}: {\n key: string;\n prefix: string;\n width: number;\n height: number;\n}) => {\n const ext = getKeyExtension(key);\n\n const destinationKey = [JPEG_EXTENSION, JPG_EXTENSION].includes(ext)\n ? key\n : `${key.split(\".\").slice(0, -1).join(\".\")}.${THUMBS_EXTENSION}`;\n\n return `${prefix}/${width}x${height}/${destinationKey}`;\n};\n\nexport const getEncodedVideoKey = ({\n key,\n prefix\n}: {\n key: string;\n prefix: string;\n}) => {\n const destinationKey = `${key\n .split(\".\")\n .slice(0, -1)\n .join(\".\")}.${ENCODED_VIDEO_EXTENSION}`;\n\n return `${prefix}/${destinationKey}`;\n};\n\nexport const getKeyExtension = (key: string) =>\n extname(key).slice(1).toLowerCase();\n\nexport const isAllowedExtension = (key: string) => {\n const ext = getKeyExtension(key);\n return ALLOWED_EXTENSIONS.includes(ext);\n};\n\nexport const isAllowedVideoExtension = (key: string) => {\n const ext = getKeyExtension(key);\n return ALLOWED_VIDEO_EXTENSIONS.includes(ext);\n};\n", "import { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { GenericLogger } from \"./types.js\";\n\nexport const getObjectWithAssumeRoleCommandOutputAttribute = (\n assumeRoleCommandOutput?: AssumeRoleCommandOutput\n) =>\n assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {};\n\nexport const getObjectWithStackAttribute = (error: any) =>\n error && error instanceof Error ? { stack: error.stack } : {};\n\nexport const getObjectWithLoggerAttribute = (logger?: GenericLogger) =>\n logger\n ? {\n logger\n }\n : {};\n", "import { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class DynamoDBService {\n logger: GenericLogger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger = getLoggerWithScope(\"DynamoDBService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new DynamoDBClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import {\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput,\n SSMClient\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class SSMService {\n logger: GenericLogger;\n client: SSMClient;\n\n constructor({\n logger = getLoggerWithScope(\"SSMService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SSMClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import {\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n DeleteMessageCommandOutput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n ReceiveMessageCommandOutput,\n SQSClient,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n SendMessageBatchCommandOutput,\n SendMessageCommand,\n SendMessageCommandInput,\n SendMessageCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class SQSService {\n logger: GenericLogger;\n client: SQSClient;\n\n constructor({\n logger = getLoggerWithScope(\"SQSService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SQSClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n AssumeRoleCommand,\n AssumeRoleCommandInput,\n GetCallerIdentityCommand,\n STSClient\n} from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport { GenericLogger } from \"../utils/types.js\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class STSService {\n logger: GenericLogger;\n client: STSClient;\n\n constructor({\n logger = getLoggerWithScope(\"STSService\"),\n region,\n client\n }: {\n logger?: GenericLogger;\n region?: string;\n client?: STSClient;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new STSClient({\n region\n });\n }\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import {\n LocationClient,\n SearchPlaceIndexForPositionCommand,\n SearchPlaceIndexForPositionCommandInput,\n SearchPlaceIndexForPositionCommandOutput\n} from \"@aws-sdk/client-location\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport {\n getLoggerWithScope,\n getObjectWithAssumeRoleCommandOutputAttribute\n} from \"../utils/index.js\";\nimport { GenericLogger } from \"../utils/types.js\";\n\nexport class LocationService {\n logger: GenericLogger;\n client: LocationClient;\n\n constructor({\n logger = getLoggerWithScope(\"LocationService\"),\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: LocationClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new LocationClient({\n region,\n ...getObjectWithAssumeRoleCommandOutputAttribute(\n assumeRoleCommandOutput\n )\n });\n }\n }\n\n async searchPlaceIndexForPositionCommand(\n searchPlaceIndexForPositionCommandInput: SearchPlaceIndexForPositionCommandInput\n ): Promise<SearchPlaceIndexForPositionCommandOutput> {\n return await this.client.send(\n new SearchPlaceIndexForPositionCommand(\n searchPlaceIndexForPositionCommandInput\n )\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n const logger = getLoggerWithScope(\"plumbingMiddleware.before\");\n logger.addContext(context);\n logger.logEventIfEnabled(event);\n\n segment = tracer.getSegment();\n\n if (!segment) {\n logger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\"\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\"\n },\n Custom: { tracer, logger, metrics }\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const logger = getLoggerWithScope(\"plumbingMiddleware.after\");\n\n try {\n logger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n logger.debug(\"finished closing in after\");\n } catch (error) {\n logger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "ProviderError", "logger", "error", "exports", "getHomeDir", "exports", "getSSOTokenFilepath", "exports", "getSSOTokenFromFile", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "HttpApiKeyAuthLocation", "SMITHY_CONTEXT_KEY", "HttpApiKeyAuthLocation2", "exports", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_types", "data", "map", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_property_provider", "logger", "exports", "endpointUrl", "exports", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "getSmithyContext", "normalizeProvider", "import_types", "map", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "HttpRequest", "HttpResponse", "import_types", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "deserializerMiddlewareOption", "serializerMiddlewareOption", "import_protocol_http", "error", "findHeader", "import_util_middleware", "error", "cursor", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "exports", "fromBase64", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "fromUtf8", "toUint8Array", "toUtf8", "data", "exports", "toBase64", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "__toCommonJS", "exports", "ChecksumStream", "exports", "isReadableStream", "isBlob", "exports", "ChecksumStream", "exports", "createChecksumStream", "error", "exports", "createChecksumStream", "exports", "cursor", "exports", "logger", "size", "exports", "createBufferedReadable", "logger", "size", "exports", "getAwsChunkedEncodingStream", "data", "exports", "headStream", "exports", "headStream", "bytes", "require_dist_cjs", "exports", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__export", "__copyProps", "__toESM", "__toCommonJS", "import_protocol_http", "logger", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_protocol_http", "import_util_base64", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "exports", "sdkStreamMixin", "exports", "sdkStreamMixin", "exports", "splitStream", "exports", "splitStream", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "Uint8ArrayBlobAdapter", "import_util_base64", "import_util_utf8", "payload", "collectBody", "extendedEncodeURIComponent", "import_protocol_http", "import_util_middleware", "error", "import_util_middleware", "serializerMiddlewareOption", "list", "struct", "serializerMiddlewareOption", "copyDocumentWithTransform", "parseBoolean", "expectBoolean", "expectNumber", "expectFloat32", "expectLong", "expectInt", "expectInt32", "expectShort", "expectByte", "expectNonNull", "expectObject", "expectString", "expectUnion", "strictParseDouble", "strictParseFloat", "strictParseFloat32", "limitedParseDouble", "handleFloat", "limitedParseFloat", "limitedParseFloat32", "strictParseLong", "strictParseInt", "strictParseInt32", "strictParseShort", "strictParseByte", "logger", "dateToUtcString", "parseRfc3339DateTime", "parseRfc3339DateTimeWithOffset", "parseRfc7231DateTime", "parseEpochTimestamp", "strictParseShort", "strictParseDouble", "strictParseByte", "strictParseFloat32", "crypto", "LazyJsonString", "quoteHeader", "splitEvery", "splitHeader", "z", "nv", "NumericValue", "LazyJsonString", "NumericValue", "copyDocumentWithTransform", "dateToUtcString", "expectBoolean", "expectByte", "expectFloat32", "expectInt", "expectInt32", "expectLong", "expectNonNull", "expectNumber", "expectObject", "expectShort", "expectString", "expectUnion", "handleFloat", "limitedParseDouble", "limitedParseFloat", "limitedParseFloat32", "logger", "nv", "parseBoolean", "parseEpochTimestamp", "parseRfc3339DateTime", "parseRfc3339DateTimeWithOffset", "parseRfc7231DateTime", "quoteHeader", "splitEvery", "splitHeader", "strictParseByte", "strictParseDouble", "strictParseFloat", "strictParseFloat32", "strictParseInt", "strictParseInt32", "strictParseLong", "strictParseShort", "import_protocol_http", "EventStreamSerde", "import_protocol_http", "import_util_stream", "payload", "extendedEncodeURIComponent", "data", "collectBody", "splitEvery", "splitHeader", "list", "import_protocol_http", "payload", "collectBody", "resolvedPath", "extendedEncodeURIComponent", "import_protocol_http", "resolvedPath", "import_util_utf8", "data", "splitHeader", "parseRfc3339DateTimeWithOffset", "parseRfc7231DateTime", "parseEpochTimestamp", "LazyJsonString", "NumericValue", "import_util_utf8", "data", "import_util_base64", "dateToUtcString", "quoteHeader", "LazyJsonString", "collectBody", "extendedEncodeURIComponent", "resolvedPath", "init_requestBuilder", "import_protocol_http", "import_types", "import_protocol_http", "init_requestBuilder", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_core", "import_util_middleware", "import_middleware_serde", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_protocols", "emitWarningIfUnsupportedVersion", "getValueFromTextNode", "map", "import_types", "import_schema", "data", "logger", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "SignatureV4", "import_util_utf85", "import_util_utf8", "data", "import_util_utf82", "import_util_utf83", "import_protocol_http", "import_util_middleware", "import_util_utf84", "payload", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "setFeature", "init_setFeature", "init_setFeature", "import_protocol_http", "import_protocol_http", "error", "import_protocol_http", "init_httpAuthSchemes", "data", "nv", "data", "list", "map", "import_util_utf8", "dataView", "USE_BUFFER", "NumericValue", "import_util_utf8", "payload", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "calculateBodyLength", "data", "import_util_base64", "data", "parseEpochTimestamp", "import_util_middleware", "init_cbor", "Error", "init_cbor", "NumericValue", "import_util_utf8", "data", "import_util_base64", "data", "LazyJsonString", "parseRfc3339DateTimeWithOffset", "parseRfc7231DateTime", "parseEpochTimestamp", "NumericValue", "NumericValue", "import_util_base64", "dateToUtcString", "LazyJsonString", "NumericValue", "import_smithy_client", "defaultOptions", "data", "result", "METADATA_SYMBOL", "import_smithy_client", "import_util_utf8", "buffer", "value", "import_smithy_client", "import_util_base64", "NumericValue", "extendedEncodeURIComponent", "bytes", "collectBody", "data", "import_smithy_client", "data", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "XmlNode", "XmlText", "import_smithy_client", "import_util_base64", "container", "struct", "map", "NumericValue", "init_protocols", "dist_es_exports", "setFeature", "init_dist_es", "init_httpAuthSchemes", "init_protocols", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "validate", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_protocol_http", "import_smithy_client", "data", "error", "import_signature_v4", "import_core", "import_core2", "import_util_middleware", "defaultErrorHandler", "defaultSuccessHandler", "import_util_stream", "collectBody", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "import_signature_v4", "require_dist_cjs", "exports", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "__toCommonJS", "getSignedUrl", "import_protocol_http", "assert", "logger", "error", "error", "logger", "logger", "assert", "error", "assert", "logger", "assert", "assert", "logger", "assert", "assert", "logger", "assert", "assert", "logger", "assert", "assert", "logger", "assert", "assert", "assert", "logger", "error", "Metrics", "Logger", "Tracer"]
|
|
7
7
|
}
|