190proof 1.0.51 → 1.0.53
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/README.md +163 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +112 -31503
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +90 -31504
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js","../../node_modules/@smithy/protocol-http/dist-es/extensions/index.js","../../node_modules/@smithy/types/dist-es/abort.js","../../node_modules/@smithy/types/dist-es/auth/auth.js","../../node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js","../../node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js","../../node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js","../../node_modules/@smithy/types/dist-es/auth/HttpSigner.js","../../node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js","../../node_modules/@smithy/types/dist-es/auth/index.js","../../node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js","../../node_modules/@smithy/types/dist-es/checksum.js","../../node_modules/@smithy/types/dist-es/client.js","../../node_modules/@smithy/types/dist-es/command.js","../../node_modules/@smithy/types/dist-es/connection/config.js","../../node_modules/@smithy/types/dist-es/connection/manager.js","../../node_modules/@smithy/types/dist-es/connection/pool.js","../../node_modules/@smithy/types/dist-es/connection/index.js","../../node_modules/@smithy/types/dist-es/crypto.js","../../node_modules/@smithy/types/dist-es/encode.js","../../node_modules/@smithy/types/dist-es/endpoint.js","../../node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js","../../node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js","../../node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js","../../node_modules/@smithy/types/dist-es/endpoints/shared.js","../../node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js","../../node_modules/@smithy/types/dist-es/endpoints/index.js","../../node_modules/@smithy/types/dist-es/eventStream.js","../../node_modules/@smithy/types/dist-es/extensions/checksum.js","../../node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js","../../node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js","../../node_modules/@smithy/types/dist-es/extensions/index.js","../../node_modules/@smithy/types/dist-es/http.js","../../node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js","../../node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js","../../node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js","../../node_modules/@smithy/types/dist-es/identity/identity.js","../../node_modules/@smithy/types/dist-es/identity/tokenIdentity.js","../../node_modules/@smithy/types/dist-es/identity/index.js","../../node_modules/@smithy/types/dist-es/logger.js","../../node_modules/@smithy/types/dist-es/middleware.js","../../node_modules/@smithy/types/dist-es/pagination.js","../../node_modules/@smithy/types/dist-es/profile.js","../../node_modules/@smithy/types/dist-es/response.js","../../node_modules/@smithy/types/dist-es/retry.js","../../node_modules/@smithy/types/dist-es/serde.js","../../node_modules/@smithy/types/dist-es/shapes.js","../../node_modules/@smithy/types/dist-es/signature.js","../../node_modules/@smithy/types/dist-es/stream.js","../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js","../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js","../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js","../../node_modules/@smithy/types/dist-es/transfer.js","../../node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js","../../node_modules/@smithy/types/dist-es/transform/no-undefined.js","../../node_modules/@smithy/types/dist-es/transform/type-transform.js","../../node_modules/@smithy/types/dist-es/uri.js","../../node_modules/@smithy/types/dist-es/util.js","../../node_modules/@smithy/types/dist-es/waiter.js","../../node_modules/@smithy/types/dist-es/index.js","../../node_modules/@smithy/protocol-http/dist-es/Field.js","../../node_modules/@smithy/protocol-http/dist-es/Fields.js","../../node_modules/@smithy/protocol-http/dist-es/httpHandler.js","../../node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../../node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../../node_modules/@smithy/protocol-http/dist-es/isValidHostname.js","../../node_modules/@smithy/protocol-http/dist-es/types.js","../../node_modules/@smithy/protocol-http/dist-es/index.js","../../node_modules/@aws-sdk/middleware-host-header/dist-es/index.js","../../node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js","../../node_modules/@aws-sdk/middleware-logger/dist-es/index.js","../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isIpAddress.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isValidHostLabel.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/customEndpointFunctions.js","../../node_modules/@smithy/util-endpoints/dist-es/debug/debugId.js","../../node_modules/@smithy/util-endpoints/dist-es/debug/toDebugString.js","../../node_modules/@smithy/util-endpoints/dist-es/debug/index.js","../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointError.js","../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointFunctions.js","../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointRuleObject.js","../../node_modules/@smithy/util-endpoints/dist-es/types/ErrorRuleObject.js","../../node_modules/@smithy/util-endpoints/dist-es/types/RuleSetObject.js","../../node_modules/@smithy/util-endpoints/dist-es/types/TreeRuleObject.js","../../node_modules/@smithy/util-endpoints/dist-es/types/shared.js","../../node_modules/@smithy/util-endpoints/dist-es/types/index.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/booleanEquals.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttrPathList.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isSet.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/not.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/parseURL.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/stringEquals.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/substring.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/uriEncode.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/index.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/callFunction.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperty.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointUrl.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTreeRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/index.js","../../node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js","../../node_modules/@smithy/util-endpoints/dist-es/index.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/aws.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/index.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js","../../node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js","../../node_modules/@smithy/util-config-provider/dist-es/numberSelector.js","../../node_modules/@smithy/util-config-provider/dist-es/types.js","../../node_modules/@smithy/util-config-provider/dist-es/index.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../../node_modules/@smithy/util-middleware/dist-es/getSmithyContext.js","../../node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js","../../node_modules/@smithy/util-middleware/dist-es/index.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js","../../node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js","../../node_modules/@smithy/config-resolver/dist-es/index.js","../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js","../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js","../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js","../../node_modules/@smithy/property-provider/dist-es/ProviderError.js","../../node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js","../../node_modules/@smithy/property-provider/dist-es/TokenProviderError.js","../../node_modules/@smithy/property-provider/dist-es/chain.js","../../node_modules/@smithy/property-provider/dist-es/fromStatic.js","../../node_modules/@smithy/property-provider/dist-es/memoize.js","../../node_modules/@smithy/property-provider/dist-es/index.js","../../node_modules/@smithy/node-config-provider/dist-es/fromEnv.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getHomeDir.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getProfileName.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFromFile.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getCredentialsFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/parseIni.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/slurpFile.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSsoSessionData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/loadSsoSessionData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/mergeConfigFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/parseKnownFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/types.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/index.js","../../node_modules/@smithy/node-config-provider/dist-es/fromSharedConfigFiles.js","../../node_modules/@smithy/node-config-provider/dist-es/fromStatic.js","../../node_modules/@smithy/node-config-provider/dist-es/configLoader.js","../../node_modules/@smithy/node-config-provider/dist-es/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointUrlConfig.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.js","../../node_modules/@smithy/querystring-parser/dist-es/index.js","../../node_modules/@smithy/url-parser/dist-es/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js","../../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js","../../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js","../../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js","../../node_modules/@smithy/middleware-serde/dist-es/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js","../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js","../../node_modules/@smithy/middleware-endpoint/dist-es/types.js","../../node_modules/@smithy/middleware-endpoint/dist-es/index.js","../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.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/util-retry/dist-es/config.js","../../node_modules/@smithy/service-error-classification/dist-es/constants.js","../../node_modules/@smithy/service-error-classification/dist-es/index.js","../../node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js","../../node_modules/@smithy/util-retry/dist-es/constants.js","../../node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js","../../node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js","../../node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js","../../node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js","../../node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js","../../node_modules/@smithy/util-retry/dist-es/types.js","../../node_modules/@smithy/util-retry/dist-es/index.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/middleware-retry/dist-es/defaultRetryQuota.js","../../node_modules/@smithy/middleware-retry/dist-es/delayDecider.js","../../node_modules/@smithy/middleware-retry/dist-es/retryDecider.js","../../node_modules/@smithy/middleware-retry/dist-es/util.js","../../node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js","../../node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js","../../node_modules/@smithy/middleware-retry/dist-es/configurations.js","../../node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js","../../node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js","../../node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js","../../node_modules/@smithy/middleware-stack/dist-es/index.js","../../node_modules/@smithy/smithy-client/dist-es/client.js","../../node_modules/@smithy/is-array-buffer/dist-es/index.js","../../node_modules/@smithy/util-buffer-from/dist-es/index.js","../../node_modules/@smithy/util-base64/dist-es/fromBase64.js","../../node_modules/@smithy/util-utf8/dist-es/fromUtf8.js","../../node_modules/@smithy/util-utf8/dist-es/toUint8Array.js","../../node_modules/@smithy/util-utf8/dist-es/toUtf8.js","../../node_modules/@smithy/util-utf8/dist-es/index.js","../../node_modules/@smithy/util-base64/dist-es/toBase64.js","../../node_modules/@smithy/util-base64/dist-es/index.js","../../node_modules/@smithy/util-stream/dist-es/blob/transforms.js","../../node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js","../../node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.js","../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js","../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js","../../node_modules/@smithy/util-uri-escape/dist-es/index.js","../../node_modules/@smithy/querystring-builder/dist-es/index.js","../../node_modules/@smithy/node-http-handler/dist-es/constants.js","../../node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js","../../node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js","../../node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js","../../node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js","../../node_modules/@smithy/node-http-handler/dist-es/write-request-body.js","../../node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js","../../node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js","../../node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js","../../node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js","../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js","../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js","../../node_modules/@smithy/node-http-handler/dist-es/index.js","../../node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.js","../../node_modules/@smithy/util-stream/dist-es/index.js","../../node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js","../../node_modules/@smithy/smithy-client/dist-es/command.js","../../node_modules/@smithy/smithy-client/dist-es/constants.js","../../node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js","../../node_modules/@smithy/smithy-client/dist-es/parse-utils.js","../../node_modules/@smithy/smithy-client/dist-es/date-utils.js","../../node_modules/@smithy/smithy-client/dist-es/exceptions.js","../../node_modules/@smithy/smithy-client/dist-es/default-error-handler.js","../../node_modules/@smithy/smithy-client/dist-es/defaults-mode.js","../../node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js","../../node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js","../../node_modules/@smithy/smithy-client/dist-es/extensions/retry.js","../../node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js","../../node_modules/@smithy/smithy-client/dist-es/extensions/index.js","../../node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js","../../node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js","../../node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js","../../node_modules/@smithy/smithy-client/dist-es/lazy-json.js","../../node_modules/@smithy/smithy-client/dist-es/object-mapping.js","../../node_modules/@smithy/smithy-client/dist-es/resolve-path.js","../../node_modules/@smithy/smithy-client/dist-es/ser-utils.js","../../node_modules/@smithy/smithy-client/dist-es/serde-json.js","../../node_modules/@smithy/smithy-client/dist-es/split-every.js","../../node_modules/@smithy/smithy-client/dist-es/index.js","../../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.js","../../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js","../../node_modules/@smithy/middleware-retry/dist-es/index.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/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/getSmithyContext.js","../../node_modules/@smithy/core/dist-es/normalizeProvider.js","../../node_modules/@smithy/core/dist-es/protocols/requestBuilder.js","../../node_modules/@smithy/core/dist-es/pagination/createPaginator.js","../../node_modules/@smithy/core/dist-es/index.js","../../node_modules/@smithy/middleware-content-length/dist-es/index.js","../../node_modules/@aws-sdk/core/dist-es/client/emitWarningIfUnsupportedVersion.js","../../node_modules/@aws-sdk/core/dist-es/client/index.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/utils/getDateHeader.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/utils/getSkewCorrectedDate.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/utils/isClockSkewed.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/utils/index.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js","../../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../../node_modules/@smithy/signature-v4/dist-es/constants.js","../../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js","../../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js","../../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js","../../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js","../../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js","../../node_modules/@smithy/signature-v4/dist-es/headerUtil.js","../../node_modules/@smithy/signature-v4/dist-es/cloneRequest.js","../../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js","../../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js","../../node_modules/@smithy/signature-v4/dist-es/utilDate.js","../../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js","../../node_modules/@smithy/signature-v4/dist-es/index.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/aws_sdk/index.js","../../node_modules/@aws-sdk/core/dist-es/httpAuthSchemes/index.js","../../node_modules/@aws-sdk/core/dist-es/protocols/coercing-serializers.js","../../node_modules/@aws-sdk/core/dist-es/protocols/json/awsExpectUnion.js","../../node_modules/@aws-sdk/core/dist-es/protocols/common.js","../../node_modules/@aws-sdk/core/dist-es/protocols/json/parseJsonBody.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/util.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/validator.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../../node_modules/strnum/strnum.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/node2json.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","../../node_modules/@aws-sdk/core/node_modules/fast-xml-parser/src/fxp.js","../../node_modules/@aws-sdk/core/dist-es/protocols/xml/parseXmlBody.js","../../node_modules/@aws-sdk/core/dist-es/protocols/index.js","../../node_modules/@aws-sdk/core/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js","../../node_modules/@aws-sdk/credential-provider-env/dist-es/index.js","../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/httpRequest.js","../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js","../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/RemoteProviderInit.js","../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/retry.js","../../node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js","../../node_modules/@smithy/credential-provider-imds/dist-es/error/InstanceMetadataV1FallbackError.js","../../node_modules/@smithy/credential-provider-imds/dist-es/config/Endpoint.js","../../node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointConfigOptions.js","../../node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointMode.js","../../node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointModeConfigOptions.js","../../node_modules/@smithy/credential-provider-imds/dist-es/utils/getInstanceMetadataEndpoint.js","../../node_modules/@smithy/credential-provider-imds/dist-es/utils/getExtendedInstanceMetadataCredentials.js","../../node_modules/@smithy/credential-provider-imds/dist-es/utils/staticStabilityProvider.js","../../node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js","../../node_modules/@smithy/credential-provider-imds/dist-es/types.js","../../node_modules/@smithy/credential-provider-imds/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-node/dist-es/remoteProvider.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/isSsoProfile.js","../../node_modules/@aws-sdk/token-providers/dist-es/constants.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/auth/httpAuthSchemeProvider.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/endpoint/EndpointParameters.js","../../node_modules/@aws-sdk/client-sso-oidc/package.json","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/credentialDefaultProvider.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/crt-availability.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/is-crt-available.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js","../../node_modules/@smithy/hash-node/dist-es/index.js","../../node_modules/@smithy/util-body-length-node/dist-es/calculateBodyLength.js","../../node_modules/@smithy/util-body-length-node/dist-es/index.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/endpoint/ruleset.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/endpoint/endpointResolver.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.shared.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/constants.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/defaultsModeConfig.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/resolveDefaultsModeConfig.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/index.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/config.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/isFipsRegion.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/getRealRegion.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/resolveRegionConfig.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/index.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/index.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/auth/httpAuthExtensionConfiguration.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeExtensions.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/SSOOIDCClient.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/models/SSOOIDCServiceException.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/models/models_0.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/protocols/Aws_restJson1.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/CreateTokenCommand.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/CreateTokenWithIAMCommand.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/RegisterClientCommand.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/StartDeviceAuthorizationCommand.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/SSOOIDC.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/index.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/models/index.js","../../node_modules/@aws-sdk/client-sso-oidc/dist-es/index.js","../../node_modules/@aws-sdk/token-providers/dist-es/loadSsoOidc.js","../../node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js","../../node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js","../../node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js","../../node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js","../../node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js","../../node_modules/@aws-sdk/token-providers/dist-es/fromSso.js","../../node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js","../../node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js","../../node_modules/@aws-sdk/token-providers/dist-es/index.js","../../node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthSchemeProvider.js","../../node_modules/@aws-sdk/client-sso/dist-es/endpoint/EndpointParameters.js","../../node_modules/@aws-sdk/client-sso/package.json","../../node_modules/@aws-sdk/client-sso/dist-es/endpoint/ruleset.js","../../node_modules/@aws-sdk/client-sso/dist-es/endpoint/endpointResolver.js","../../node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.shared.js","../../node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.js","../../node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthExtensionConfiguration.js","../../node_modules/@aws-sdk/client-sso/dist-es/runtimeExtensions.js","../../node_modules/@aws-sdk/client-sso/dist-es/SSOClient.js","../../node_modules/@aws-sdk/client-sso/dist-es/models/SSOServiceException.js","../../node_modules/@aws-sdk/client-sso/dist-es/models/models_0.js","../../node_modules/@aws-sdk/client-sso/dist-es/protocols/Aws_restJson1.js","../../node_modules/@aws-sdk/client-sso/dist-es/commands/GetRoleCredentialsCommand.js","../../node_modules/@aws-sdk/client-sso/dist-es/commands/ListAccountRolesCommand.js","../../node_modules/@aws-sdk/client-sso/dist-es/commands/ListAccountsCommand.js","../../node_modules/@aws-sdk/client-sso/dist-es/commands/LogoutCommand.js","../../node_modules/@aws-sdk/client-sso/dist-es/SSO.js","../../node_modules/@aws-sdk/client-sso/dist-es/commands/index.js","../../node_modules/@aws-sdk/client-sso/dist-es/pagination/Interfaces.js","../../node_modules/@aws-sdk/client-sso/dist-es/pagination/ListAccountRolesPaginator.js","../../node_modules/@aws-sdk/client-sso/dist-es/pagination/ListAccountsPaginator.js","../../node_modules/@aws-sdk/client-sso/dist-es/pagination/index.js","../../node_modules/@aws-sdk/client-sso/dist-es/models/index.js","../../node_modules/@aws-sdk/client-sso/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/loadSso.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/types.js","../../node_modules/@aws-sdk/credential-provider-sso/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js","../../node_modules/@aws-sdk/client-sts/dist-es/auth/httpAuthSchemeProvider.js","../../node_modules/@aws-sdk/client-sts/dist-es/endpoint/EndpointParameters.js","../../node_modules/@aws-sdk/client-sts/package.json","../../node_modules/@aws-sdk/client-sts/dist-es/credentialDefaultProvider.js","../../node_modules/@aws-sdk/client-sts/dist-es/endpoint/ruleset.js","../../node_modules/@aws-sdk/client-sts/dist-es/endpoint/endpointResolver.js","../../node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.shared.js","../../node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.js","../../node_modules/@aws-sdk/client-sts/dist-es/auth/httpAuthExtensionConfiguration.js","../../node_modules/@aws-sdk/client-sts/dist-es/runtimeExtensions.js","../../node_modules/@aws-sdk/client-sts/dist-es/STSClient.js","../../node_modules/@aws-sdk/client-sts/dist-es/models/STSServiceException.js","../../node_modules/@aws-sdk/client-sts/dist-es/models/models_0.js","../../node_modules/@aws-sdk/client-sts/dist-es/protocols/Aws_query.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/AssumeRoleCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/AssumeRoleWithSAMLCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/AssumeRoleWithWebIdentityCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/DecodeAuthorizationMessageCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/GetAccessKeyInfoCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/GetCallerIdentityCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/GetFederationTokenCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/GetSessionTokenCommand.js","../../node_modules/@aws-sdk/client-sts/dist-es/STS.js","../../node_modules/@aws-sdk/client-sts/dist-es/commands/index.js","../../node_modules/@aws-sdk/client-sts/dist-es/models/index.js","../../node_modules/@aws-sdk/client-sts/dist-es/defaultStsRoleAssumers.js","../../node_modules/@aws-sdk/client-sts/dist-es/defaultRoleAssumers.js","../../node_modules/@aws-sdk/client-sts/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/loadSts.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js","../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/loadSts.js","../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromWebToken.js","../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js","../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/index.js","../../node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js","../../node_modules/@aws-sdk/credential-provider-node/dist-es/index.js","../../node_modules/@aws-crypto/crc32/node_modules/tslib/tslib.es6.js","../../node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js","../../node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","../../node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","../../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../../node_modules/@aws-crypto/util/src/isEmptyData.ts","../../node_modules/@aws-crypto/util/src/numToUint8.ts","../../node_modules/@aws-crypto/util/src/uint32ArrayFrom.ts","../../node_modules/@aws-crypto/util/src/index.ts","../../node_modules/@aws-crypto/crc32/src/aws_crc32.ts","../../node_modules/@aws-crypto/crc32/src/index.ts","../../node_modules/delayed-stream/lib/delayed_stream.js","../../node_modules/combined-stream/lib/combined_stream.js","../../node_modules/mime-db/db.json","../../node_modules/mime-db/index.js","../../node_modules/mime-types/index.js","../../node_modules/asynckit/lib/defer.js","../../node_modules/asynckit/lib/async.js","../../node_modules/asynckit/lib/abort.js","../../node_modules/asynckit/lib/iterate.js","../../node_modules/asynckit/lib/state.js","../../node_modules/asynckit/lib/terminator.js","../../node_modules/asynckit/parallel.js","../../node_modules/asynckit/serialOrdered.js","../../node_modules/asynckit/serial.js","../../node_modules/asynckit/index.js","../../node_modules/form-data/lib/populate.js","../../node_modules/form-data/lib/form_data.js","../../node_modules/proxy-from-env/index.js","../../node_modules/debug/node_modules/ms/index.js","../../node_modules/debug/src/common.js","../../node_modules/debug/src/browser.js","../../node_modules/debug/src/node.js","../../node_modules/debug/src/index.js","../../node_modules/follow-redirects/debug.js","../../node_modules/follow-redirects/index.js","../index.ts","../interfaces.ts","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/BedrockRuntimeClient.js","../../node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/auth/httpAuthSchemeProvider.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/EndpointParameters.js","../../node_modules/@aws-sdk/client-bedrock-runtime/package.json","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.js","../../node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js","../../node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js","../../node_modules/@smithy/eventstream-codec/dist-es/Int64.js","../../node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js","../../node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js","../../node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js","../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js","../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js","../../node_modules/@smithy/eventstream-serde-universal/dist-es/getChunkedStream.js","../../node_modules/@smithy/eventstream-serde-universal/dist-es/getUnmarshalledStream.js","../../node_modules/@smithy/eventstream-serde-universal/dist-es/EventStreamMarshaller.js","../../node_modules/@smithy/eventstream-serde-node/dist-es/EventStreamMarshaller.js","../../node_modules/@smithy/eventstream-serde-node/dist-es/utils.js","../../node_modules/@smithy/eventstream-serde-node/dist-es/provider.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.shared.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/endpointResolver.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/ruleset.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeExtensions.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/auth/httpAuthExtensionConfiguration.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/commands/InvokeModelCommand.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/models_0.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/BedrockRuntimeServiceException.js","../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/protocols/Aws_restJson1.js","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/platform/node/classes/FormData.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/node/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/node/index.js","../../node_modules/axios/lib/platform/common/utils.js","../../node_modules/axios/lib/platform/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/adapters/http.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/fromDataURI.js","../../node_modules/axios/lib/helpers/AxiosTransformStream.js","../../node_modules/axios/lib/helpers/throttle.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/helpers/formDataToStream.js","../../node_modules/axios/lib/helpers/readBlob.js","../../node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js","../../node_modules/axios/lib/helpers/callbackify.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/axios/index.js","../utils.ts"],"sourcesContent":["export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n let httpHandler = runtimeConfig.httpHandler;\n return {\n setHttpHandler(handler) {\n httpHandler = handler;\n },\n httpHandler() {\n return httpHandler;\n },\n updateHttpClientConfig(key, value) {\n httpHandler.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n","export * from \"./httpExtensionConfiguration\";\n","export {};\n","export var HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation || (HttpAuthLocation = {}));\n","export var HttpApiKeyAuthLocation;\n(function (HttpApiKeyAuthLocation) {\n HttpApiKeyAuthLocation[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation[\"QUERY\"] = \"query\";\n})(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {}));\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./auth\";\nexport * from \"./HttpApiKeyAuth\";\nexport * from \"./HttpAuthScheme\";\nexport * from \"./HttpAuthSchemeProvider\";\nexport * from \"./HttpSigner\";\nexport * from \"./IdentityProviderConfig\";\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./config\";\nexport * from \"./manager\";\nexport * from \"./pool\";\n","export {};\n","export {};\n","export var EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme || (EndpointURLScheme = {}));\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./shared\";\nexport * from \"./TreeRuleObject\";\n","export {};\n","export var AlgorithmId;\n(function (AlgorithmId) {\n AlgorithmId[\"MD5\"] = \"md5\";\n AlgorithmId[\"CRC32\"] = \"crc32\";\n AlgorithmId[\"CRC32C\"] = \"crc32c\";\n AlgorithmId[\"SHA1\"] = \"sha1\";\n AlgorithmId[\"SHA256\"] = \"sha256\";\n})(AlgorithmId || (AlgorithmId = {}));\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.SHA256,\n checksumConstructor: () => runtimeConfig.sha256,\n });\n }\n if (runtimeConfig.md5 != undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.MD5,\n checksumConstructor: () => runtimeConfig.md5,\n });\n }\n return {\n _checksumAlgorithms: checksumAlgorithms,\n addChecksumAlgorithm(algo) {\n this._checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return this._checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n","import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nexport const getDefaultClientConfiguration = (runtimeConfig) => {\n return {\n ...getChecksumConfiguration(runtimeConfig),\n };\n};\nexport const resolveDefaultRuntimeConfig = (config) => {\n return {\n ...resolveChecksumRuntimeConfig(config),\n };\n};\n","export {};\n","export * from \"./defaultClientConfiguration\";\nexport * from \"./defaultExtensionConfiguration\";\nexport { AlgorithmId } from \"./checksum\";\n","export var FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition || (FieldPosition = {}));\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./apiKeyIdentity\";\nexport * from \"./awsCredentialIdentity\";\nexport * from \"./identity\";\nexport * from \"./tokenIdentity\";\n","export {};\n","export const SMITHY_CONTEXT_KEY = \"__smithy_context\";\n","export {};\n","export var IniSectionType;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(IniSectionType || (IniSectionType = {}));\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export var RequestHandlerProtocol;\n(function (RequestHandlerProtocol) {\n RequestHandlerProtocol[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol[\"TDS_8_0\"] = \"tds/8.0\";\n})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./abort\";\nexport * from \"./auth\";\nexport * from \"./blob/blob-payload-input-types\";\nexport * from \"./checksum\";\nexport * from \"./client\";\nexport * from \"./command\";\nexport * from \"./connection\";\nexport * from \"./crypto\";\nexport * from \"./encode\";\nexport * from \"./endpoint\";\nexport * from \"./endpoints\";\nexport * from \"./eventStream\";\nexport * from \"./extensions\";\nexport * from \"./http\";\nexport * from \"./http/httpHandlerInitialization\";\nexport * from \"./identity\";\nexport * from \"./logger\";\nexport * from \"./middleware\";\nexport * from \"./pagination\";\nexport * from \"./profile\";\nexport * from \"./response\";\nexport * from \"./retry\";\nexport * from \"./serde\";\nexport * from \"./shapes\";\nexport * from \"./signature\";\nexport * from \"./stream\";\nexport * from \"./streaming-payload/streaming-blob-common-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-input-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-output-types\";\nexport * from \"./transfer\";\nexport * from \"./transform/client-payload-blob-type-narrow\";\nexport * from \"./transform/no-undefined\";\nexport * from \"./transform/type-transform\";\nexport * from \"./uri\";\nexport * from \"./util\";\nexport * from \"./waiter\";\n","import { FieldPosition } from \"@smithy/types\";\nexport class Field {\n constructor({ name, kind = FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n","export class Fields {\n constructor({ fields = [], encoding = \"utf-8\" }) {\n this.entries = {};\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n","export {};\n","export class HttpRequest {\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\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"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 static isInstance(request) {\n if (!request)\n return false;\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n const cloned = new HttpRequest({\n ...this,\n headers: { ...this.headers },\n });\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\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","export class HttpResponse {\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)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n","export function isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n","export {};\n","export * from \"./extensions\";\nexport * from \"./Field\";\nexport * from \"./Fields\";\nexport * from \"./httpHandler\";\nexport * from \"./httpRequest\";\nexport * from \"./httpResponse\";\nexport * from \"./isValidHostname\";\nexport * from \"./types\";\n","import { HttpRequest } from \"@smithy/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport const hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexport const hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport const getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n","export const loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nexport const loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport const getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n","export * from \"./loggerMiddleware\";\n","import { HttpRequest } from \"@smithy/protocol-http\";\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nexport const recursionDetectionMiddleware = (options) => (next) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request) ||\n options.runtime !== \"node\" ||\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexport const addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nexport const getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\n },\n});\n","export function resolveUserAgentConfig(input) {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\n","const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nexport const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n","const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nexport const isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n","export const customEndpointFunctions = {};\n","export const debugId = \"endpoints\";\n","export function toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n","export * from \"./debugId\";\nexport * from \"./toDebugString\";\n","export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./EndpointError\";\nexport * from \"./EndpointFunctions\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n","export const booleanEquals = (value1, value2) => value1 === value2;\n","import { EndpointError } from \"../types\";\nexport const getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n","import { EndpointError } from \"../types\";\nimport { getAttrPathList } from \"./getAttrPathList\";\nexport const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n","export const isSet = (value) => value != null;\n","export const not = (value) => !value;\n","import { EndpointURLScheme } from \"@smithy/types\";\nimport { isIpAddress } from \"./isIpAddress\";\nconst DEFAULT_PORTS = {\n [EndpointURLScheme.HTTP]: 80,\n [EndpointURLScheme.HTTPS]: 443,\n};\nexport const parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n","export const stringEquals = (value1, value2) => value1 === value2;\n","export const substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n","export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n","export * from \"./booleanEquals\";\nexport * from \"./getAttr\";\nexport * from \"./isSet\";\nexport * from \"./isValidHostLabel\";\nexport * from \"./not\";\nexport * from \"./parseURL\";\nexport * from \"./stringEquals\";\nexport * from \"./substring\";\nexport * from \"./uriEncode\";\n","import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from \"../lib\";\nexport const endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n","import { getAttr } from \"../lib\";\nexport const evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n","export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n","import { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getReferenceValue } from \"./getReferenceValue\";\nexport const evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\n","import { customEndpointFunctions } from \"./customEndpointFunctions\";\nimport { endpointFunctions } from \"./endpointFunctions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nexport const evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(debugId, `evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { evaluateCondition } from \"./evaluateCondition\";\nexport const evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(debugId, `assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n","import { EndpointError } from \"../types\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nexport const getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\n","import { getEndpointProperty } from \"./getEndpointProperty\";\nexport const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: getEndpointProperty(propertyVal, options),\n}), {});\n","import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { getEndpointHeaders } from \"./getEndpointHeaders\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nimport { getEndpointUrl } from \"./getEndpointUrl\";\nexport const evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(debugId, `Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n","import { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateRules } from \"./evaluateRules\";\nexport const evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateEndpointRule } from \"./evaluateEndpointRule\";\nimport { evaluateErrorRule } from \"./evaluateErrorRule\";\nimport { evaluateTreeRule } from \"./evaluateTreeRule\";\nexport const evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\n","export * from \"./customEndpointFunctions\";\nexport * from \"./evaluateRules\";\n","import { debugId, toDebugString } from \"./debug\";\nimport { EndpointError } from \"./types\";\nimport { evaluateRules } from \"./utils\";\nexport const resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n if (options.endpointParams?.Endpoint) {\n try {\n const givenEndpoint = new URL(options.endpointParams.Endpoint);\n const { protocol, port } = givenEndpoint;\n endpoint.url.protocol = protocol;\n endpoint.url.port = port;\n }\n catch (e) {\n }\n }\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n","export * from \"./lib/isIpAddress\";\nexport * from \"./lib/isValidHostLabel\";\nexport * from \"./utils/customEndpointFunctions\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n","export { isIpAddress } from \"@smithy/util-endpoints\";\n","import { isValidHostLabel } from \"@smithy/util-endpoints\";\nimport { isIpAddress } from \"../isIpAddress\";\nexport const isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (isIpAddress(value)) {\n return false;\n }\n return true;\n};\n","export const parseArn = (value) => {\n const segments = value.split(\":\");\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourceId] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourceId[0] === \"\")\n return null;\n return {\n partition,\n service,\n region,\n accountId,\n resourceId: resourceId[0].includes(\"/\") ? resourceId[0].split(\"/\") : resourceId,\n };\n};\n","{\n \"partitions\": [{\n \"id\": \"aws\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-east-1\",\n \"name\": \"aws\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^(us|eu|ap|sa|ca|me|af|il)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"af-south-1\": {\n \"description\": \"Africa (Cape Town)\"\n },\n \"ap-east-1\": {\n \"description\": \"Asia Pacific (Hong Kong)\"\n },\n \"ap-northeast-1\": {\n \"description\": \"Asia Pacific (Tokyo)\"\n },\n \"ap-northeast-2\": {\n \"description\": \"Asia Pacific (Seoul)\"\n },\n \"ap-northeast-3\": {\n \"description\": \"Asia Pacific (Osaka)\"\n },\n \"ap-south-1\": {\n \"description\": \"Asia Pacific (Mumbai)\"\n },\n \"ap-south-2\": {\n \"description\": \"Asia Pacific (Hyderabad)\"\n },\n \"ap-southeast-1\": {\n \"description\": \"Asia Pacific (Singapore)\"\n },\n \"ap-southeast-2\": {\n \"description\": \"Asia Pacific (Sydney)\"\n },\n \"ap-southeast-3\": {\n \"description\": \"Asia Pacific (Jakarta)\"\n },\n \"ap-southeast-4\": {\n \"description\": \"Asia Pacific (Melbourne)\"\n },\n \"aws-global\": {\n \"description\": \"AWS Standard global region\"\n },\n \"ca-central-1\": {\n \"description\": \"Canada (Central)\"\n },\n \"ca-west-1\": {\n \"description\": \"Canada West (Calgary)\"\n },\n \"eu-central-1\": {\n \"description\": \"Europe (Frankfurt)\"\n },\n \"eu-central-2\": {\n \"description\": \"Europe (Zurich)\"\n },\n \"eu-north-1\": {\n \"description\": \"Europe (Stockholm)\"\n },\n \"eu-south-1\": {\n \"description\": \"Europe (Milan)\"\n },\n \"eu-south-2\": {\n \"description\": \"Europe (Spain)\"\n },\n \"eu-west-1\": {\n \"description\": \"Europe (Ireland)\"\n },\n \"eu-west-2\": {\n \"description\": \"Europe (London)\"\n },\n \"eu-west-3\": {\n \"description\": \"Europe (Paris)\"\n },\n \"il-central-1\": {\n \"description\": \"Israel (Tel Aviv)\"\n },\n \"me-central-1\": {\n \"description\": \"Middle East (UAE)\"\n },\n \"me-south-1\": {\n \"description\": \"Middle East (Bahrain)\"\n },\n \"sa-east-1\": {\n \"description\": \"South America (Sao Paulo)\"\n },\n \"us-east-1\": {\n \"description\": \"US East (N. Virginia)\"\n },\n \"us-east-2\": {\n \"description\": \"US East (Ohio)\"\n },\n \"us-west-1\": {\n \"description\": \"US West (N. California)\"\n },\n \"us-west-2\": {\n \"description\": \"US West (Oregon)\"\n }\n }\n }, {\n \"id\": \"aws-cn\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com.cn\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.com.cn\",\n \"implicitGlobalRegion\": \"cn-northwest-1\",\n \"name\": \"aws-cn\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-cn-global\": {\n \"description\": \"AWS China global region\"\n },\n \"cn-north-1\": {\n \"description\": \"China (Beijing)\"\n },\n \"cn-northwest-1\": {\n \"description\": \"China (Ningxia)\"\n }\n }\n }, {\n \"id\": \"aws-us-gov\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-gov-west-1\",\n \"name\": \"aws-us-gov\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-us-gov-global\": {\n \"description\": \"AWS GovCloud (US) global region\"\n },\n \"us-gov-east-1\": {\n \"description\": \"AWS GovCloud (US-East)\"\n },\n \"us-gov-west-1\": {\n \"description\": \"AWS GovCloud (US-West)\"\n }\n }\n }, {\n \"id\": \"aws-iso\",\n \"outputs\": {\n \"dnsSuffix\": \"c2s.ic.gov\",\n \"dualStackDnsSuffix\": \"c2s.ic.gov\",\n \"implicitGlobalRegion\": \"us-iso-east-1\",\n \"name\": \"aws-iso\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-global\": {\n \"description\": \"AWS ISO (US) global region\"\n },\n \"us-iso-east-1\": {\n \"description\": \"US ISO East\"\n },\n \"us-iso-west-1\": {\n \"description\": \"US ISO WEST\"\n }\n }\n }, {\n \"id\": \"aws-iso-b\",\n \"outputs\": {\n \"dnsSuffix\": \"sc2s.sgov.gov\",\n \"dualStackDnsSuffix\": \"sc2s.sgov.gov\",\n \"implicitGlobalRegion\": \"us-isob-east-1\",\n \"name\": \"aws-iso-b\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-b-global\": {\n \"description\": \"AWS ISOB (US) global region\"\n },\n \"us-isob-east-1\": {\n \"description\": \"US ISOB East (Ohio)\"\n }\n }\n }, {\n \"id\": \"aws-iso-e\",\n \"outputs\": {\n \"dnsSuffix\": \"cloud.adc-e.uk\",\n \"dualStackDnsSuffix\": \"cloud.adc-e.uk\",\n \"implicitGlobalRegion\": \"eu-isoe-west-1\",\n \"name\": \"aws-iso-e\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {}\n }, {\n \"id\": \"aws-iso-f\",\n \"outputs\": {\n \"dnsSuffix\": \"csp.hci.ic.gov\",\n \"dualStackDnsSuffix\": \"csp.hci.ic.gov\",\n \"implicitGlobalRegion\": \"us-isof-south-1\",\n \"name\": \"aws-iso-f\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {}\n }],\n \"version\": \"1.1\"\n}\n","import partitionsInfo from \"./partitions.json\";\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nexport const partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexport const setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nexport const useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nexport const getUserAgentPrefix = () => selectedUserAgentPrefix;\n","import { customEndpointFunctions } from \"@smithy/util-endpoints\";\nimport { isVirtualHostableS3Bucket } from \"./lib/aws/isVirtualHostableS3Bucket\";\nimport { parseArn } from \"./lib/aws/parseArn\";\nimport { partition } from \"./lib/aws/partition\";\nexport const awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","export { resolveEndpoint } from \"@smithy/util-endpoints\";\n","export { EndpointError } from \"@smithy/util-endpoints\";\n","export {};\n","export {};\n","export {};\n","export {};\n","export {};\n","export * from \"./EndpointError\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n","export * from \"./aws\";\nexport * from \"./lib/aws/partition\";\nexport * from \"./lib/isIpAddress\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n","export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w\\#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n","import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request))\n return next(args);\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const prefix = getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n","export * from \"./configurations\";\nexport * from \"./user-agent-middleware\";\n","export const booleanSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n};\n","export const numberSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\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};\n","export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\n","export * from \"./booleanSelector\";\nexport * from \"./numberSelector\";\nexport * from \"./types\";\n","import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n","import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n","import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","export * from \"./getSmithyContext\";\nexport * from \"./normalizeProvider\";\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nexport const resolveCustomEndpointsConfig = (input) => {\n const { endpoint, urlParser } = input;\n return {\n ...input,\n tls: input.tls ?? true,\n endpoint: normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),\n };\n};\n","export const getEndpointFromRegion = async (input) => {\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromRegion } from \"./utils/getEndpointFromRegion\";\nexport const resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser } = input;\n return {\n ...input,\n tls: input.tls ?? true,\n endpoint: endpoint\n ? normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n };\n};\n","export * from \"./NodeUseDualstackEndpointConfigOptions\";\nexport * from \"./NodeUseFipsEndpointConfigOptions\";\nexport * from \"./resolveCustomEndpointsConfig\";\nexport * from \"./resolveEndpointsConfig\";\n","export const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\nexport const NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n","import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n","import { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\n","export * from \"./config\";\nexport * from \"./resolveRegionConfig\";\n","export {};\n","export {};\n","export const getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\"))?.hostname;\n","export const getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\n","export const getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? \"aws\";\n","export const getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\n","import { getHostnameFromVariants } from \"./getHostnameFromVariants\";\nimport { getResolvedHostname } from \"./getResolvedHostname\";\nimport { getResolvedPartition } from \"./getResolvedPartition\";\nimport { getResolvedSigningRegion } from \"./getResolvedSigningRegion\";\nexport const getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\n","export * from \"./PartitionHash\";\nexport * from \"./RegionHash\";\nexport * from \"./getRegionInfo\";\n","export * from \"./endpointsConfig\";\nexport * from \"./regionConfig\";\nexport * from \"./regionInfo\";\n","import { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\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 authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of options) {\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","export const resolveParamsForS3 = 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 }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n 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};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (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};\n","export * from \"./s3\";\n","export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\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 === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\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};\n","export class ProviderError extends Error {\n constructor(message, tryNextLink = true) {\n super(message);\n this.tryNextLink = tryNextLink;\n this.name = \"ProviderError\";\n Object.setPrototypeOf(this, ProviderError.prototype);\n }\n static from(error, tryNextLink = true) {\n return Object.assign(new this(error.message, tryNextLink), error);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport class TokenProviderError extends ProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport const chain = (...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 }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n","export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n","export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\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();\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};\n","export * from \"./CredentialsProviderError\";\nexport * from \"./ProviderError\";\nexport * from \"./TokenProviderError\";\nexport * from \"./chain\";\nexport * from \"./fromStatic\";\nexport * from \"./memoize\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const fromEnv = (envVarSelector) => async () => {\n try {\n const config = envVarSelector(process.env);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Cannot load config from environment variables with getter: ${envVarSelector}`);\n }\n};\n","import { homedir } from \"os\";\nimport { sep } from \"path\";\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nexport const getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${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] = homedir();\n return homeDirCache[homeDirCacheKey];\n};\n","export const ENV_PROFILE = \"AWS_PROFILE\";\nexport const DEFAULT_PROFILE = \"default\";\nexport const getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;\n","import { createHash } from \"crypto\";\nimport { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const getSSOTokenFilepath = (id) => {\n const hasher = createHash(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return join(getHomeDir(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\n","import { promises as fsPromises } from \"fs\";\nimport { getSSOTokenFilepath } from \"./getSSOTokenFilepath\";\nconst { readFile } = fsPromises;\nexport const getSSOTokenFromFile = async (id) => {\n const ssoTokenFilepath = getSSOTokenFilepath(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./loadSharedConfigFiles\";\nexport const getConfigData = (data) => Object.entries(data)\n .filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(IniSectionType).includes(key.substring(0, indexOfSeparator));\n})\n .reduce((acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n}, {\n ...(data.default && { default: data.default }),\n});\n","import { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nexport const getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || join(getHomeDir(), \".aws\", \"config\");\n","import { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nexport const getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || join(getHomeDir(), \".aws\", \"credentials\");\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./loadSharedConfigFiles\";\nconst prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nexport const parseIni = (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 = undefined;\n currentSubSection = undefined;\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(IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n }\n else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\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 }\n else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = undefined;\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};\n","import { promises as fsPromises } from \"fs\";\nconst { readFile } = fsPromises;\nconst filePromisesHash = {};\nexport const slurpFile = (path, options) => {\n if (!filePromisesHash[path] || options?.ignoreCache) {\n filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return filePromisesHash[path];\n};\n","import { getConfigData } from \"./getConfigData\";\nimport { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getCredentialsFilepath } from \"./getCredentialsFilepath\";\nimport { parseIni } from \"./parseIni\";\nimport { slurpFile } from \"./slurpFile\";\nconst swallowError = () => ({});\nexport const CONFIG_PREFIX_SEPARATOR = \".\";\nexport const loadSharedConfigFiles = async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const parsedFiles = await Promise.all([\n slurpFile(configFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .then(getConfigData)\n .catch(swallowError),\n slurpFile(filepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .catch(swallowError),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./loadSharedConfigFiles\";\nexport const getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => key.startsWith(IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR))\n .reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});\n","import { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getSsoSessionData } from \"./getSsoSessionData\";\nimport { parseIni } from \"./parseIni\";\nimport { slurpFile } from \"./slurpFile\";\nconst swallowError = () => ({});\nexport const loadSsoSessionData = async (init = {}) => slurpFile(init.configFilepath ?? getConfigFilepath())\n .then(parseIni)\n .then(getSsoSessionData)\n .catch(swallowError);\n","export const mergeConfigFiles = (...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== undefined) {\n Object.assign(merged[key], values);\n }\n else {\n merged[key] = values;\n }\n }\n }\n return merged;\n};\n","import { loadSharedConfigFiles } from \"./loadSharedConfigFiles\";\nimport { mergeConfigFiles } from \"./mergeConfigFiles\";\nexport const parseKnownFiles = async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n};\n","export {};\n","export * from \"./getHomeDir\";\nexport * from \"./getProfileName\";\nexport * from \"./getSSOTokenFilepath\";\nexport * from \"./getSSOTokenFromFile\";\nexport * from \"./loadSharedConfigFiles\";\nexport * from \"./loadSsoSessionData\";\nexport * from \"./parseKnownFiles\";\nexport * from \"./types\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSharedConfigFiles } from \"@smithy/shared-ini-file-loader\";\nexport const fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = getProfileName(init);\n const { configFile, credentialsFile } = await loadSharedConfigFiles(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Cannot load config for profile ${profile} in SDK configuration files with getter: ${configSelector}`);\n }\n};\n","import { fromStatic as convertToProvider } from \"@smithy/property-provider\";\nconst isFunction = (func) => typeof func === \"function\";\nexport const fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : convertToProvider(defaultValue);\n","import { chain, memoize } from \"@smithy/property-provider\";\nimport { fromEnv } from \"./fromEnv\";\nimport { fromSharedConfigFiles } from \"./fromSharedConfigFiles\";\nimport { fromStatic } from \"./fromStatic\";\nexport const loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => memoize(chain(fromEnv(environmentVariableSelector), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));\n","export * from \"./configLoader\";\n","import { CONFIG_PREFIX_SEPARATOR } from \"@smithy/shared-ini-file-loader\";\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nexport const 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(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(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});\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { getEndpointUrlConfig } from \"./getEndpointUrlConfig\";\nexport const getEndpointFromConfig = async (serviceId) => loadConfig(getEndpointUrlConfig(serviceId))();\n","export function 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 }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n","import { parseQueryString } from \"@smithy/querystring-parser\";\nexport const parseUrl = (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 = parseQueryString(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n","import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return parseUrl(endpoint.url);\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n","import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.endpoint) {\n const endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId || \"\");\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\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};\nexport const resolveParams = 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 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};\n","export * from \"./getEndpointFromInstructions\";\nexport * from \"./toEndpointV1\";\n","import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\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 = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n","export const deserializerMiddleware = (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 }\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 error.message += \"\\n \" + hint;\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n }\n throw error;\n }\n};\n","export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpoint = context.endpointV2?.url && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.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};\n","import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\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 getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n","export * from \"./deserializerMiddleware\";\nexport * from \"./serdePlugin\";\nexport * from \"./serializerMiddleware\";\n","import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n return {\n ...input,\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(input.useFipsEndpoint ?? false),\n };\n};\n","export {};\n","export * from \"./adaptors\";\nexport * from \"./endpointMiddleware\";\nexport * from \"./getEndpointPlugin\";\nexport * from \"./resolveEndpointConfig\";\nexport * from \"./types\";\n","import { endpointMiddlewareOptions } from \"@smithy/middleware-endpoint\";\nimport { 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: endpointMiddlewareOptions.name,\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\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 { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\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","export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport const DEFAULT_MAX_ATTEMPTS = 3;\nexport const DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n","export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\n","import { CLOCK_SKEW_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error) => isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0);\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n","import { isThrottlingError } from \"@smithy/service-error-classification\";\nexport class DefaultRateLimiter {\n constructor(options) {\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\n","export const DEFAULT_RETRY_DELAY_BASE = 100;\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\nexport const INITIAL_RETRY_TOKENS = 500;\nexport const RETRY_COST = 5;\nexport const TIMEOUT_RETRY_COST = 10;\nexport const NO_RETRY_INCREMENT = 1;\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n","import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n","import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, NO_RETRY_INCREMENT, RETRY_COST, THROTTLING_RETRY_DELAY_BASE, TIMEOUT_RETRY_COST, } from \"./constants\";\nimport { getDefaultRetryBackoffStrategy } from \"./defaultRetryBackoffStrategy\";\nimport { createDefaultRetryToken } from \"./defaultRetryToken\";\nexport class StandardRetryStrategy {\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.mode = RETRY_MODES.STANDARD;\n this.capacity = INITIAL_RETRY_TOKENS;\n this.retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n","import { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = RETRY_MODES.ADAPTIVE;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n","import { DEFAULT_RETRY_DELAY_BASE } from \"./constants\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class ConfiguredRetryStrategy extends StandardRetryStrategy {\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n }\n else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n}\n","export {};\n","export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./ConfiguredRetryStrategy\";\nexport * from \"./DefaultRateLimiter\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./config\";\nexport * from \"./constants\";\nexport * from \"./types\";\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 { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"@smithy/util-retry\";\nexport const getDefaultRetryQuota = (initialRetryTokens, options) => {\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = options?.noRetryIncrement ?? NO_RETRY_INCREMENT;\n const retryCost = options?.retryCost ?? RETRY_COST;\n const timeoutRetryCost = options?.timeoutRetryCost ?? TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n","import { MAXIMUM_RETRY_DELAY } from \"@smithy/util-retry\";\nexport const defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n","import { isClockSkewError, isRetryableByTrait, isThrottlingError, isTransientError, } from \"@smithy/service-error-classification\";\nexport const defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n","export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n","import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isThrottlingError } from \"@smithy/service-error-classification\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, RETRY_MODES, THROTTLING_RETRY_DELAY_BASE, } from \"@smithy/util-retry\";\nimport { v4 } from \"uuid\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\nimport { asSdkError } from \"./util\";\nexport class StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = RETRY_MODES.STANDARD;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n","import { DefaultRateLimiter, RETRY_MODES } from \"@smithy/util-retry\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy extends StandardRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.mode = RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy } = input;\n const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n return {\n ...input,\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await normalizeProvider(input.retryMode)();\n if (retryMode === RETRY_MODES.ADAPTIVE) {\n return new AdaptiveRetryStrategy(maxAttempts);\n }\n return new StandardRetryStrategy(maxAttempts);\n },\n };\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nexport const omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n delete request.headers[INVOCATION_ID_HEADER];\n delete request.headers[REQUEST_HEADER];\n }\n return next(args);\n};\nexport const omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nexport const getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n","export class NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n","const getAllAliases = (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};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nexport const constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (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 };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (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 };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (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 };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\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 }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (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 === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\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)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (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)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\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(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\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 },\n addRelativeTo: (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)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\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(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\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 },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (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 };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","export * from \"./MiddlewareStack\";\n","import { constructStack } from \"@smithy/middleware-stack\";\nexport class Client {\n constructor(config) {\n this.middlewareStack = constructStack();\n this.config = config;\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n }\n}\n","export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { Buffer } from \"buffer\";\nexport const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return Buffer.from(input, offset, length);\n};\nexport const fromString = (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 ? Buffer.from(input, encoding) : Buffer.from(input);\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nexport const 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 = fromString(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nexport const fromUtf8 = (input) => {\n const buf = fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n","import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (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};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nexport const toUtf8 = (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 fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n};\n","export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport const toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = 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 fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\n","export * from \"./fromBase64\";\nexport * from \"./toBase64\";\n","import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { Uint8ArrayBlobAdapter } from \"./Uint8ArrayBlobAdapter\";\nexport function transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(payload);\n }\n return toUtf8(payload);\n}\nexport function transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(str));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(str));\n}\n","import { transformFromString, transformToString } from \"./transforms\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\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 static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n}\n","import { Readable } from \"stream\";\nexport const 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 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};\n","export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { escapeUri } from \"./escape-uri\";\nexport const escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n","export * from \"./escape-uri\";\nexport * from \"./escape-uri-path\";\n","import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n","export const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","const getTransformedHeaders = (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};\nexport { getTransformedHeaders };\n","export const setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return;\n }\n const timeoutId = setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs);\n request.on(\"socket\", (socket) => {\n if (socket.connecting) {\n socket.on(\"connect\", () => {\n clearTimeout(timeoutId);\n });\n }\n else {\n clearTimeout(timeoutId);\n }\n });\n};\n","export const setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }) => {\n if (keepAlive !== true) {\n return;\n }\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n};\n","export const setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n request.setTimeout(timeoutInMs, () => {\n request.destroy();\n reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: \"TimeoutError\" }));\n });\n};\n","import { Readable } from \"stream\";\nconst MIN_WAIT_TIME = 1000;\nexport async 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 hasError = false;\n if (expect === \"100-continue\") {\n await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(setTimeout(resolve, Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n clearTimeout(timeoutId);\n resolve();\n });\n httpRequest.on(\"error\", () => {\n hasError = true;\n clearTimeout(timeoutId);\n resolve();\n });\n }),\n ]);\n }\n if (!hasError) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof 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\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n 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","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { Agent as hAgent, request as hRequest } from \"http\";\nimport { Agent as hsAgent, request as hsRequest } from \"https\";\nimport { NODEJS_TIMEOUT_ERROR_CODES } from \"./constants\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { setConnectionTimeout } from \"./set-connection-timeout\";\nimport { setSocketKeepAlive } from \"./set-socket-keep-alive\";\nimport { setSocketTimeout } from \"./set-socket-timeout\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport const DEFAULT_REQUEST_TIMEOUT = 0;\nexport class NodeHttpHandler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15000;\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 console.warn(\"@smithy/node-http-handler:WARN\", `socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.`, \"See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\", \"or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.\");\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.socketWarningTimestamp = 0;\n this.metadata = { handlerProtocol: \"http/1.1\" };\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, httpAgent, httpsAgent } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout: requestTimeout ?? socketTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === \"function\") {\n return httpsAgent;\n }\n return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n let socketCheckTimeoutId;\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeout(socketCheckTimeoutId);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\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 socketCheckTimeoutId = setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp);\n }, this.config.socketAcquisitionWarningTimeout ?? (this.config.requestTimeout ?? 2000) + (this.config.connectionTimeout ?? 1000));\n const queryString = buildQueryString(request.query || {});\n let auth = undefined;\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 const nodeHttpsOptions = {\n headers: request.headers,\n host: request.hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? hsRequest : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new 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 }\n else {\n reject(err);\n }\n });\n setConnectionTimeout(req, reject, this.config.connectionTimeout);\n setSocketTimeout(req, reject, this.config.requestTimeout);\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.abort();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n });\n }\n writeRequestBodyPromise = writeRequestBody(req, request, this.config.requestTimeout).catch(_reject);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\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","export class NodeHttp2ConnectionPool {\n constructor(sessions) {\n this.sessions = [];\n this.sessions = sessions ?? [];\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","import http2 from \"http2\";\nimport { NodeHttp2ConnectionPool } from \"./node-http2-connection-pool\";\nexport class NodeHttp2ConnectionManager {\n constructor(config) {\n this.sessionCache = 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 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 = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\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 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 (this.config.maxConcurrency && this.config.maxConcurrency <= 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","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { constants } from \"http2\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { NodeHttp2ConnectionManager } from \"./node-http2-connection-manager\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport class NodeHttp2Handler {\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\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()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal } = {}) {\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, disableConcurrentStreams } = this.config;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\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 = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = 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 [constants.HTTP2_HEADER_PATH]: path,\n [constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new 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 (requestTimeout) {\n req.setTimeout(requestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n abortSignal.onabort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\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(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\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, requestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\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 destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n","import { Writable } from \"stream\";\nexport class Collector extends Writable {\n constructor() {\n super(...arguments);\n this.bufferedBytes = [];\n }\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n","import { Collector } from \"./collector\";\nexport const streamCollector = (stream) => 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","export * from \"./node-http-handler\";\nexport * from \"./node-http2-handler\";\nexport * from \"./stream-collector\";\n","import { streamCollector } from \"@smithy/node-http-handler\";\nimport { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { Readable } from \"stream\";\nimport { TextDecoder } from \"util\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!(stream instanceof Readable)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, 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 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 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 Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please make sure you are using Node.js >= 17.0.0, or polyfill is available.\");\n }\n transformed = true;\n return Readable.toWeb(stream);\n },\n });\n};\n","export * from \"./blob/Uint8ArrayBlobAdapter\";\nexport * from \"./getAwsChunkedEncodingStream\";\nexport * from \"./sdk-stream-mixin\";\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","import { constructStack } from \"@smithy/middleware-stack\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport class Command {\n constructor() {\n this.middlewareStack = constructStack();\n }\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\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 [SMITHY_CONTEXT_KEY]: {\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n constructor() {\n this._init = () => { };\n this._ep = {};\n this._middlewareFn = () => [];\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = (_) => _;\n this._outputFilterSensitiveLog = (_) => _;\n this._serializer = null;\n this._deserializer = null;\n }\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.serialize = closure._serializer;\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\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,\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog,\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n });\n }\n}\n","export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n","export const createAggregatedClient = (commands, Client) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n};\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 {\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","export class ServiceException extends Error {\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, ServiceException.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n}\nexport const decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || 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};\n","import { decorateServiceException } from \"./exceptions\";\nexport const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\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};\nexport const withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (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});\n","export const loadConfigsForDefaultMode = (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: 30000,\n };\n default:\n return {};\n }\n};\n","let warningEmitted = false;\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 14) {\n warningEmitted = true;\n }\n};\n","import { AlgorithmId } from \"@smithy/types\";\nexport { AlgorithmId };\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in AlgorithmId) {\n const algorithmId = AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n return {\n _checksumAlgorithms: checksumAlgorithms,\n addChecksumAlgorithm(algo) {\n this._checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return this._checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n","export const getRetryConfiguration = (runtimeConfig) => {\n let _retryStrategy = runtimeConfig.retryStrategy;\n return {\n setRetryStrategy(retryStrategy) {\n _retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return _retryStrategy;\n },\n };\n};\nexport const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n","import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return {\n ...getChecksumConfiguration(runtimeConfig),\n ...getRetryConfiguration(runtimeConfig),\n };\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return {\n ...resolveChecksumRuntimeConfig(config),\n ...resolveRetryRuntimeConfig(config),\n };\n};\n","export * from \"./defaultExtensionConfiguration\";\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 getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n","export const getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n","export const StringWrapper = function () {\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null, ...arguments]);\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\nexport class LazyJsonString extends StringWrapper {\n deserializeJSON() {\n return JSON.parse(super.toString());\n }\n toJSON() {\n return super.toString();\n }\n static fromObject(object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\n","export function 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 }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\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}\nexport const convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexport const take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\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 === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && 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};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\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","export const serializeFloat = (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};\n","export const _json = (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};\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 * from \"./NoOpLogger\";\nexport * from \"./client\";\nexport * from \"./collect-stream-body\";\nexport * from \"./command\";\nexport * from \"./constants\";\nexport * from \"./create-aggregated-client\";\nexport * from \"./date-utils\";\nexport * from \"./default-error-handler\";\nexport * from \"./defaults-mode\";\nexport * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./extensions\";\nexport * from \"./exceptions\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./lazy-json\";\nexport * from \"./object-mapping\";\nexport * from \"./parse-utils\";\nexport * from \"./resolve-path\";\nexport * from \"./ser-utils\";\nexport * from \"./serde-json\";\nexport * from \"./split-every\";\n","import { Readable } from \"stream\";\nexport const isStreamingPayload = (request) => request?.body instanceof Readable ||\n (typeof ReadableStream !== \"undefined\" && request?.body instanceof ReadableStream);\n","import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n","export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./configurations\";\nexport * from \"./delayDecider\";\nexport * from \"./omitRetryHeadersMiddleware\";\nexport * from \"./retryDecider\";\nexport * from \"./retryMiddleware\";\n","import { retryMiddlewareOptions } from \"@smithy/middleware-retry\";\nimport { 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: retryMiddlewareOptions.name,\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 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 { 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();\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","export class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = httpRequest.clone();\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","import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"@smithy/smithy-client\";\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","const makePagedClientRequest = async (CommandCtor, client, input, ...args) => {\n return await client.send(new CommandCtor(input), ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n let token = config.startingToken || undefined;\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, ...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","export * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./util-identity-and-auth\";\nexport * from \"./getSmithyContext\";\nexport * from \"./normalizeProvider\";\nexport * from \"./protocols/requestBuilder\";\nexport { createPaginator } from \"./pagination/createPaginator\";\n","import { HttpRequest } from \"@smithy/protocol-http\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n","let warningEmitted = false;\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js 14.x on May 1, 2024.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to an active Node.js LTS version.\n\nMore information can be found at: https://a.co/dzr2AJd`);\n }\n};\n","export * from \"./emitWarningIfUnsupportedVersion\";\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};\nconst 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 signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\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 { config, signer, signingRegion, signingName } = await validateSigningProperties(signingProperties);\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","const SHORT_TO_HEX = {};\nconst 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}\nexport function 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 }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function 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","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const 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};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${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};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n","import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n 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};\n","import { escapeUri } from \"@smithy/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${escapeUri(key)}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${escapeUri(key)}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = 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 == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = 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 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\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);\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;\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);\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 = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\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;\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;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport 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 fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\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 valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(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] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","export const hasHeader = (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};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n","export const cloneRequest = ({ headers, query, ...rest }) => ({\n ...rest,\n headers: { ...headers },\n query: query ? cloneQuery(query) : undefined,\n});\nexport const cloneQuery = (query) => 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","import { cloneRequest } from \"./cloneRequest\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = typeof request.clone === \"function\" ? request.clone() : cloneRequest(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)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n","import { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = typeof request.clone === \"function\" ? request.clone() : cloneRequest(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};\n","export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n","import { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4 {\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.headerFormatter = new HeaderFormatter();\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders });\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] = getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = 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 = 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 = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\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 } = 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(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\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) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${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)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n}\nconst formatDate = (now) => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\";\");\n","export * from \"./SignatureV4\";\nexport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nexport { getCanonicalQuery } from \"./getCanonicalQuery\";\nexport { getPayloadHash } from \"./getPayloadHash\";\nexport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nexport { prepareRequest } from \"./prepareRequest\";\nexport * from \"./credentialDerivation\";\n","import { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let normalizedCreds;\n if (config.credentials) {\n normalizedCreds = memoizeIdentityProvider(config.credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n if (!normalizedCreds) {\n if (config.credentialDefaultProvider) {\n normalizedCreds = normalizeProvider(config.credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n normalizedCreds = async () => {\n throw new Error(\"`credentials` is missing\");\n };\n }\n }\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: normalizedCreds,\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: normalizedCreds,\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 return {\n ...config,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\n","export * from \"./AwsSdkSigV4Signer\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n","export * from \"./aws_sdk\";\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","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","import { collectBody } from \"@smithy/smithy-client\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(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.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\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';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(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\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(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 */\nexports.merge = function(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\nexports.getValue = function(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() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\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\");\nexports.validate = function (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 {\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 = util.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 util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.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","\nconst 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};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n\nclass 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) {\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 };\n};\n\n\nmodule.exports = XmlNode;","const util = require('../util');\n\n//TODO: handle comments\nfunction 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 && isEntity(xmlData, i)){\n i += 7; \n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ validateEntityName(entityName) ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && isElement(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isAttlist(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isNotation(xmlData, i)) i += 9;//Not supported\n else if( isComment) 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\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 //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\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 if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\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.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst 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\nclass 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: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\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 }\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 && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.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 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)\n\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 //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\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 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 if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\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)\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 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)\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)\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){\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);\n }else{\n currentNode.addChild(childNode);\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 = Object.keys(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.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\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 }\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 (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction 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\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}\nexports.prettify = prettify;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass 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 = validator.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\nmodule.exports = XMLParser;","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\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 attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup ){\n listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n if (attrStr && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i<this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nmodule.exports = Builder;\n","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\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","export * from \"./coercing-serializers\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./xml/parseXmlBody\";\n","export * from \"./client/index\";\nexport * from \"./httpAuthSchemes/index\";\nexport * from \"./protocols/index\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexport const ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexport const ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexport const ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nexport const ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nexport const fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env\", \"fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n if (accessKeyId && secretAccessKey) {\n return {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n };\n }\n throw new CredentialsProviderError(\"Unable to find environment variable credentials.\");\n};\n","export * from \"./fromEnv\";\n","import { ProviderError } from \"@smithy/property-provider\";\nimport { Buffer } from \"buffer\";\nimport { request } from \"http\";\nexport function httpRequest(options) {\n return new Promise((resolve, reject) => {\n const req = request({\n method: \"GET\",\n ...options,\n hostname: options.hostname?.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\n","export const isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nexport const fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n});\n","export const DEFAULT_TIMEOUT = 1000;\nexport const DEFAULT_MAX_RETRIES = 0;\nexport const providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\n","export const retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { parse } from \"url\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { retry } from \"./remoteProvider/retry\";\nexport const ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nexport const ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nexport const ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = providerConfigFromInit(init);\n return () => retry(async () => {\n const requestOptions = await getCmdsUri();\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!isImdsCredentials(credsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return fromImdsCredentials(credsResponse);\n }, maxRetries);\n};\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await httpRequest({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = {\n localhost: true,\n \"127.0.0.1\": true,\n};\nconst GREENGRASS_PROTOCOLS = {\n \"http:\": true,\n \"https:\": true,\n};\nconst getCmdsUri = async () => {\n if (process.env[ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[ENV_CMDS_FULL_URI]) {\n const parsed = parse(process.env[ENV_CMDS_FULL_URI]);\n if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {\n throw new CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false);\n }\n if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {\n throw new CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false);\n }\n return {\n ...parsed,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", false);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport class InstanceMetadataV1FallbackError extends CredentialsProviderError {\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n this.name = \"InstanceMetadataV1FallbackError\";\n Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);\n }\n}\n","export var Endpoint;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(Endpoint || (Endpoint = {}));\n","export const ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nexport const CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nexport const ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n","export var EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode || (EndpointMode = {}));\n","import { EndpointMode } from \"./EndpointMode\";\nexport const ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nexport const CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nexport const ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode.IPv4,\n};\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { Endpoint as InstanceMetadataEndpoint } from \"../config/Endpoint\";\nimport { ENDPOINT_CONFIG_OPTIONS } from \"../config/EndpointConfigOptions\";\nimport { EndpointMode } from \"../config/EndpointMode\";\nimport { ENDPOINT_MODE_CONFIG_OPTIONS, } from \"../config/EndpointModeConfigOptions\";\nexport const getInstanceMetadataEndpoint = async () => parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nconst getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode.IPv4:\n return InstanceMetadataEndpoint.IPv4;\n case EndpointMode.IPv6:\n return InstanceMetadataEndpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);\n }\n};\n","const STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nexport const getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n `credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: ` +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = credentials.originalExpiration ?? credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\n","import { getExtendedInstanceMetadataCredentials } from \"./getExtendedInstanceMetadataCredentials\";\nexport const staticStabilityProvider = (provider, options = {}) => {\n const logger = options?.logger || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = getExtendedInstanceMetadataCredentials(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { InstanceMetadataV1FallbackError } from \"./error/InstanceMetadataV1FallbackError\";\nimport { httpRequest } from \"./remoteProvider/httpRequest\";\nimport { fromImdsCredentials, isImdsCredentials } from \"./remoteProvider/ImdsCredentials\";\nimport { providerConfigFromInit } from \"./remoteProvider/RemoteProviderInit\";\nimport { retry } from \"./remoteProvider/retry\";\nimport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nimport { staticStabilityProvider } from \"./utils/staticStabilityProvider\";\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst AWS_EC2_METADATA_V1_DISABLED = \"AWS_EC2_METADATA_V1_DISABLED\";\nconst PROFILE_AWS_EC2_METADATA_V1_DISABLED = \"ec2_metadata_v1_disabled\";\nconst X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nexport const fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceImdsProvider(init), { logger: init.logger });\nconst getInstanceImdsProvider = (init) => {\n let disableFetchToken = false;\n const { logger, profile } = init;\n const { timeout, maxRetries } = providerConfigFromInit(init);\n const getCredentials = async (maxRetries, options) => {\n const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;\n if (isImdsV1Fallback) {\n let fallbackBlockedFromProfile = false;\n let fallbackBlockedFromProcessEnv = false;\n const configValue = await loadConfig({\n environmentVariableSelector: (env) => {\n const envValue = env[AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProcessEnv = !!envValue && envValue !== \"false\";\n if (envValue === undefined) {\n throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`);\n }\n return fallbackBlockedFromProcessEnv;\n },\n configFileSelector: (profile) => {\n const profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProfile = !!profileValue && profileValue !== \"false\";\n return fallbackBlockedFromProfile;\n },\n default: false,\n }, {\n profile,\n })();\n if (init.ec2MetadataV1Disabled || configValue) {\n const causes = [];\n if (init.ec2MetadataV1Disabled)\n causes.push(\"credential provider initialization (runtime option ec2MetadataV1Disabled)\");\n if (fallbackBlockedFromProfile)\n causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);\n if (fallbackBlockedFromProcessEnv)\n causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);\n throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(\", \")}].`);\n }\n }\n const imdsProfile = (await retry(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return retry(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(imdsProfile, options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await getInstanceMetadataEndpoint();\n if (disableFetchToken) {\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (no token fetch)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if (error?.statusCode === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (initial)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => httpRequest({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options) => {\n const credsResponse = JSON.parse((await httpRequest({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!isImdsCredentials(credsResponse)) {\n throw new CredentialsProviderError(\"Invalid response received from instance metadata service.\");\n }\n return fromImdsCredentials(credsResponse);\n};\n","export {};\n","export * from \"./fromContainerMetadata\";\nexport * from \"./fromInstanceMetadata\";\nexport * from \"./remoteProvider/RemoteProviderInit\";\nexport * from \"./types\";\nexport { httpRequest } from \"./remoteProvider/httpRequest\";\nexport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nexport { Endpoint } from \"./config/Endpoint\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nexport const checkUrl = (url) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { parseRfc3339DateTime } from \"@smithy/smithy-client\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nexport function createGetRequest(url) {\n return new HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nexport async function getCredentials(response) {\n const contentType = response?.headers[\"content-type\"] ?? response?.headers[\"Content-Type\"] ?? \"\";\n if (!contentType.includes(\"json\")) {\n console.warn(\"HTTP credential provider response header content-type was not application/json. Observed: \" + contentType + \".\");\n }\n const stream = sdkStreamMixin(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\");\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: parseRfc3339DateTime(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`);\n}\n","export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n","import { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport fs from \"fs/promises\";\nimport { checkUrl } from \"./checkUrl\";\nimport { createGetRequest, getCredentials } from \"./requestHelpers\";\nimport { retryWrapper } from \"./retry-wrapper\";\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromHttp = (options) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http\", \"fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n if (relative && full) {\n console.warn(\"AWS SDK HTTP credentials provider:\", \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n console.warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n console.warn(\"AWS SDK HTTP credentials provider:\", \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n console.warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`);\n }\n const url = new URL(host);\n checkUrl(url);\n const requestHandler = new NodeHttpHandler({\n requestTimeout: options.timeout ?? 1000,\n connectionTimeout: options.timeout ?? 1000,\n });\n return retryWrapper(async () => {\n const request = createGetRequest(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await fs.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request);\n return getCredentials(result.response);\n }\n catch (e) {\n throw new CredentialsProviderError(String(e));\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n};\n","export { fromHttp } from \"./fromHttp/fromHttp\";\n","import { chain, CredentialsProviderError } from \"@smithy/property-provider\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const remoteProvider = async (init) => {\n const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"remoteProvider::fromHttp/fromContainerMetadata\");\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n return chain(fromHttp(init), fromContainerMetadata(init));\n }\n if (process.env[ENV_IMDS_DISABLED]) {\n return async () => {\n throw new CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\");\n };\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"remoteProvider::fromInstanceMetadata\");\n return fromInstanceMetadata(init);\n};\n","export const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","export const EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nexport const REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n","import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sso-oauth\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateToken\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"RegisterClient\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"StartDeviceAuthorization\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n return {\n ...config_0,\n };\n};\n","export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"sso-oauth\",\n };\n};\nexport const commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n","{\n \"name\": \"@aws-sdk/client-sso-oidc\",\n \"description\": \"AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native\",\n \"version\": \"3.564.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-sso-oidc\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"lerna run --scope $npm_package_name --include-dependencies build\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"rimraf ./dist-* && rimraf *.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo sso-oidc\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"3.0.0\",\n \"@aws-crypto/sha256-js\": \"3.0.0\",\n \"@aws-sdk/core\": \"3.556.0\",\n \"@aws-sdk/middleware-host-header\": \"3.535.0\",\n \"@aws-sdk/middleware-logger\": \"3.535.0\",\n \"@aws-sdk/middleware-recursion-detection\": \"3.535.0\",\n \"@aws-sdk/middleware-user-agent\": \"3.540.0\",\n \"@aws-sdk/region-config-resolver\": \"3.535.0\",\n \"@aws-sdk/types\": \"3.535.0\",\n \"@aws-sdk/util-endpoints\": \"3.540.0\",\n \"@aws-sdk/util-user-agent-browser\": \"3.535.0\",\n \"@aws-sdk/util-user-agent-node\": \"3.535.0\",\n \"@smithy/config-resolver\": \"^2.2.0\",\n \"@smithy/core\": \"^1.4.2\",\n \"@smithy/fetch-http-handler\": \"^2.5.0\",\n \"@smithy/hash-node\": \"^2.2.0\",\n \"@smithy/invalid-dependency\": \"^2.2.0\",\n \"@smithy/middleware-content-length\": \"^2.2.0\",\n \"@smithy/middleware-endpoint\": \"^2.5.1\",\n \"@smithy/middleware-retry\": \"^2.3.1\",\n \"@smithy/middleware-serde\": \"^2.3.0\",\n \"@smithy/middleware-stack\": \"^2.2.0\",\n \"@smithy/node-config-provider\": \"^2.3.0\",\n \"@smithy/node-http-handler\": \"^2.5.0\",\n \"@smithy/protocol-http\": \"^3.3.0\",\n \"@smithy/smithy-client\": \"^2.5.1\",\n \"@smithy/types\": \"^2.12.0\",\n \"@smithy/url-parser\": \"^2.2.0\",\n \"@smithy/util-base64\": \"^2.3.0\",\n \"@smithy/util-body-length-browser\": \"^2.2.0\",\n \"@smithy/util-body-length-node\": \"^2.3.0\",\n \"@smithy/util-defaults-mode-browser\": \"^2.2.1\",\n \"@smithy/util-defaults-mode-node\": \"^2.3.1\",\n \"@smithy/util-endpoints\": \"^1.2.0\",\n \"@smithy/util-middleware\": \"^2.2.0\",\n \"@smithy/util-retry\": \"^2.2.0\",\n \"@smithy/util-utf8\": \"^2.3.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@smithy/service-client-documentation-generator\": \"^2.2.0\",\n \"@tsconfig/node14\": \"1.0.3\",\n \"@types/node\": \"^14.14.31\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"rimraf\": \"3.0.2\",\n \"typescript\": \"~4.9.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"peerDependencies\": {\n \"@aws-sdk/credential-provider-node\": \"^3.564.0\"\n },\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso-oidc\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-sso-oidc\"\n }\n}\n","export const defaultProvider = ((input) => {\n return () => import(\"@aws-sdk/credential-provider-node\").then(({ defaultProvider }) => defaultProvider(input)());\n});\n","export const crtAvailability = {\n isCrtAvailable: false,\n};\n","import { crtAvailability } from \"./crt-availability\";\nexport const isCrtAvailable = () => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n};\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { platform, release } from \"os\";\nimport { env, versions } from \"process\";\nimport { isCrtAvailable } from \"./is-crt-available\";\nexport { crtAvailability } from \"./crt-availability\";\nexport const UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nexport const UA_APP_ID_INI_NAME = \"sdk-ua-app-id\";\nexport const defaultUserAgent = ({ serviceId, clientVersion }) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.0\"],\n [`os/${platform()}`, release()],\n [\"lang/js\"],\n [\"md/nodejs\", `${versions.node}`],\n ];\n const crtAvailable = isCrtAvailable();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${env.AWS_EXECUTION_ENV}`]);\n }\n const appIdPromise = loadConfig({\n environmentVariableSelector: (env) => env[UA_APP_ID_ENV_NAME],\n configFileSelector: (profile) => profile[UA_APP_ID_INI_NAME],\n default: undefined,\n })();\n let resolvedUserAgent = undefined;\n return async () => {\n if (!resolvedUserAgent) {\n const appId = await appIdPromise;\n resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n }\n return resolvedUserAgent;\n };\n};\n","import { fromArrayBuffer, fromString } from \"@smithy/util-buffer-from\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { Buffer } from \"buffer\";\nimport { createHash, createHmac } from \"crypto\";\nexport class Hash {\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update(toUint8Array(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? createHmac(this.algorithmIdentifier, castSourceData(this.secret))\n : createHash(this.algorithmIdentifier);\n }\n}\nfunction castSourceData(toCast, encoding) {\n if (Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return fromString(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return fromArrayBuffer(toCast);\n}\n","import { fstatSync, lstatSync } from \"fs\";\nexport const calculateBodyLength = (body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.byteLength(body);\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n else if (typeof body.start === \"number\" && typeof body.end === \"number\") {\n return body.end + 1 - body.start;\n }\n else if (typeof body.path === \"string\" || Buffer.isBuffer(body.path)) {\n return lstatSync(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return fstatSync(body.fd).size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\n","export * from \"./calculateBodyLength\";\n","const u = \"required\", v = \"fn\", w = \"argv\", x = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"getAttr\", i = { [u]: false, \"type\": \"String\" }, j = { [u]: true, \"default\": false, \"type\": \"Boolean\" }, k = { [x]: \"Endpoint\" }, l = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, true] }, m = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, \"supportsFIPS\"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, \"supportsDualStack\"] }] }, r = [l], s = [m], t = [{ [x]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { conditions: s, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: \"aws.partition\", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: \"stringEquals\", [w]: [{ [v]: h, [w]: [p, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://oidc.{Region}.amazonaws.com\", properties: n, headers: n }, type: e }, { endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }] };\nexport const ruleSet = _data;\n","import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSSOOIDCHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n","export const AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nexport const AWS_REGION_ENV = \"AWS_REGION\";\nexport const AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nexport const IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n","const AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nexport const NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\",\n};\n","import { NODE_REGION_CONFIG_OPTIONS } from \"@smithy/config-resolver\";\nimport { loadConfig } from \"@smithy/node-config-provider\";\nimport { memoize } from \"@smithy/property-provider\";\nimport { AWS_DEFAULT_REGION_ENV, AWS_EXECUTION_ENV, AWS_REGION_ENV, DEFAULTS_MODE_OPTIONS, ENV_IMDS_DISABLED, IMDS_REGION_PATH, } from \"./constants\";\nimport { NODE_DEFAULTS_MODE_CONFIG_OPTIONS } from \"./defaultsModeConfig\";\nexport const resolveDefaultsModeConfig = ({ region = loadConfig(NODE_REGION_CONFIG_OPTIONS), defaultsMode = loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nconst resolveNodeDefaultsModeAuto = async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n }\n else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n};\nconst inferPhysicalRegion = async () => {\n if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {\n return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];\n }\n if (!process.env[ENV_IMDS_DISABLED]) {\n try {\n const { getInstanceMetadataEndpoint, httpRequest } = await import(\"@smithy/credential-provider-imds\");\n const endpoint = await getInstanceMetadataEndpoint();\n return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();\n }\n catch (e) {\n }\n }\n};\n","export * from \"./resolveDefaultsModeConfig\";\n","import packageInfo from \"../package.json\";\nimport { defaultProvider as credentialDefaultProvider } from \"./credentialDefaultProvider\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion } from \"@aws-sdk/core\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { emitWarningIfUnsupportedVersion } from \"@smithy/smithy-client\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? credentialDefaultProvider,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\n","export const getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n let runtimeConfigRegion = async () => {\n if (runtimeConfig.region === undefined) {\n throw new Error(\"Region is missing from runtimeConfig\");\n }\n const region = runtimeConfig.region;\n if (typeof region === \"string\") {\n return region;\n }\n return region();\n };\n return {\n setRegion(region) {\n runtimeConfigRegion = region;\n },\n region() {\n return runtimeConfigRegion;\n },\n };\n};\nexport const resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n","export const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\nexport const NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n","import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n","import { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\n","export * from \"./config\";\nexport * from \"./resolveRegionConfig\";\n","export * from \"./extensions\";\nexport * from \"./regionConfig\";\n","export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n","import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n","import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSSOOIDCHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class SSOOIDCClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveRegionConfig(_config_1);\n const _config_3 = resolveEndpointConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveUserAgentConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n super(_config_8);\n this.config = _config_8;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),\n identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n getDefaultHttpAuthSchemeParametersProvider() {\n return defaultSSOOIDCHttpAuthSchemeParametersProvider;\n }\n getIdentityProviderConfigProvider() {\n return async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n });\n }\n}\n","import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class SSOOIDCServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\n","import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { SSOOIDCServiceException as __BaseException } from \"./SSOOIDCServiceException\";\nexport class AccessDeniedException extends __BaseException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class AuthorizationPendingException extends __BaseException {\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AuthorizationPendingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class ExpiredTokenException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InternalServerException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidClientException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidGrantException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidGrantException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidRequestException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidScopeException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidScopeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class SlowDownException extends __BaseException {\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"SlowDownException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class UnauthorizedClientException extends __BaseException {\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedClientException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class UnsupportedGrantTypeException extends __BaseException {\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnsupportedGrantTypeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidRequestRegionException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidRequestRegionException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestRegionException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestRegionException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n this.endpoint = opts.endpoint;\n this.region = opts.region;\n }\n}\nexport class InvalidClientMetadataException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidClientMetadataException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidClientMetadataException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidClientMetadataException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport const CreateTokenRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }),\n ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),\n});\nexport const CreateTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),\n ...(obj.idToken && { idToken: SENSITIVE_STRING }),\n});\nexport const CreateTokenWithIAMRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),\n ...(obj.assertion && { assertion: SENSITIVE_STRING }),\n ...(obj.subjectToken && { subjectToken: SENSITIVE_STRING }),\n});\nexport const CreateTokenWithIAMResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),\n ...(obj.idToken && { idToken: SENSITIVE_STRING }),\n});\nexport const RegisterClientResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }),\n});\nexport const StartDeviceAuthorizationRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }),\n});\n","import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from \"@aws-sdk/core\";\nimport { requestBuilder as rb } from \"@smithy/core\";\nimport { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from \"@smithy/smithy-client\";\nimport { AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidClientMetadataException, InvalidGrantException, InvalidRequestException, InvalidRequestRegionException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, } from \"../models/models_0\";\nimport { SSOOIDCServiceException as __BaseException } from \"../models/SSOOIDCServiceException\";\nexport const se_CreateTokenCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/token\");\n let body;\n body = JSON.stringify(take(input, {\n clientId: [],\n clientSecret: [],\n code: [],\n deviceCode: [],\n grantType: [],\n redirectUri: [],\n refreshToken: [],\n scope: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateTokenWithIAMCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/token\");\n const query = map({\n [_ai]: [, \"t\"],\n });\n let body;\n body = JSON.stringify(take(input, {\n assertion: [],\n clientId: [],\n code: [],\n grantType: [],\n redirectUri: [],\n refreshToken: [],\n requestedTokenType: [],\n scope: (_) => _json(_),\n subjectToken: [],\n subjectTokenType: [],\n }));\n b.m(\"POST\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_RegisterClientCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/client/register\");\n let body;\n body = JSON.stringify(take(input, {\n clientName: [],\n clientType: [],\n scopes: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_StartDeviceAuthorizationCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/device_authorization\");\n let body;\n body = JSON.stringify(take(input, {\n clientId: [],\n clientSecret: [],\n startUrl: [],\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const de_CreateTokenCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n accessToken: __expectString,\n expiresIn: __expectInt32,\n idToken: __expectString,\n refreshToken: __expectString,\n tokenType: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateTokenWithIAMCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n accessToken: __expectString,\n expiresIn: __expectInt32,\n idToken: __expectString,\n issuedTokenType: __expectString,\n refreshToken: __expectString,\n scope: _json,\n tokenType: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_RegisterClientCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n authorizationEndpoint: __expectString,\n clientId: __expectString,\n clientIdIssuedAt: __expectLong,\n clientSecret: __expectString,\n clientSecretExpiresAt: __expectLong,\n tokenEndpoint: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_StartDeviceAuthorizationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n deviceCode: __expectString,\n expiresIn: __expectInt32,\n interval: __expectInt32,\n userCode: __expectString,\n verificationUri: __expectString,\n verificationUriComplete: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.ssooidc#AccessDeniedException\":\n throw await de_AccessDeniedExceptionRes(parsedOutput, context);\n case \"AuthorizationPendingException\":\n case \"com.amazonaws.ssooidc#AuthorizationPendingException\":\n throw await de_AuthorizationPendingExceptionRes(parsedOutput, context);\n case \"ExpiredTokenException\":\n case \"com.amazonaws.ssooidc#ExpiredTokenException\":\n throw await de_ExpiredTokenExceptionRes(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.ssooidc#InternalServerException\":\n throw await de_InternalServerExceptionRes(parsedOutput, context);\n case \"InvalidClientException\":\n case \"com.amazonaws.ssooidc#InvalidClientException\":\n throw await de_InvalidClientExceptionRes(parsedOutput, context);\n case \"InvalidGrantException\":\n case \"com.amazonaws.ssooidc#InvalidGrantException\":\n throw await de_InvalidGrantExceptionRes(parsedOutput, context);\n case \"InvalidRequestException\":\n case \"com.amazonaws.ssooidc#InvalidRequestException\":\n throw await de_InvalidRequestExceptionRes(parsedOutput, context);\n case \"InvalidScopeException\":\n case \"com.amazonaws.ssooidc#InvalidScopeException\":\n throw await de_InvalidScopeExceptionRes(parsedOutput, context);\n case \"SlowDownException\":\n case \"com.amazonaws.ssooidc#SlowDownException\":\n throw await de_SlowDownExceptionRes(parsedOutput, context);\n case \"UnauthorizedClientException\":\n case \"com.amazonaws.ssooidc#UnauthorizedClientException\":\n throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);\n case \"UnsupportedGrantTypeException\":\n case \"com.amazonaws.ssooidc#UnsupportedGrantTypeException\":\n throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context);\n case \"InvalidRequestRegionException\":\n case \"com.amazonaws.ssooidc#InvalidRequestRegionException\":\n throw await de_InvalidRequestRegionExceptionRes(parsedOutput, context);\n case \"InvalidClientMetadataException\":\n case \"com.amazonaws.ssooidc#InvalidClientMetadataException\":\n throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody,\n errorCode,\n });\n }\n};\nconst throwDefaultError = withBaseException(__BaseException);\nconst de_AccessDeniedExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new AuthorizationPendingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ExpiredTokenExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InternalServerExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidClientExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidClientMetadataException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidGrantExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidGrantException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidRequestExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidRequestRegionExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n endpoint: __expectString,\n error: __expectString,\n error_description: __expectString,\n region: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidRequestRegionException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InvalidScopeExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidScopeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_SlowDownExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new SlowDownException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new UnauthorizedClientException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n error: __expectString,\n error_description: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new UnsupportedGrantTypeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst deserializeMetadata = (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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst _ai = \"aws_iam\";\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateTokenRequestFilterSensitiveLog, CreateTokenResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_CreateTokenCommand, se_CreateTokenCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class CreateTokenCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSSOOIDCService\", \"CreateToken\", {})\n .n(\"SSOOIDCClient\", \"CreateTokenCommand\")\n .f(CreateTokenRequestFilterSensitiveLog, CreateTokenResponseFilterSensitiveLog)\n .ser(se_CreateTokenCommand)\n .de(de_CreateTokenCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateTokenWithIAMRequestFilterSensitiveLog, CreateTokenWithIAMResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_CreateTokenWithIAMCommand, se_CreateTokenWithIAMCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class CreateTokenWithIAMCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSSOOIDCService\", \"CreateTokenWithIAM\", {})\n .n(\"SSOOIDCClient\", \"CreateTokenWithIAMCommand\")\n .f(CreateTokenWithIAMRequestFilterSensitiveLog, CreateTokenWithIAMResponseFilterSensitiveLog)\n .ser(se_CreateTokenWithIAMCommand)\n .de(de_CreateTokenWithIAMCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { RegisterClientResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_RegisterClientCommand, se_RegisterClientCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class RegisterClientCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSSOOIDCService\", \"RegisterClient\", {})\n .n(\"SSOOIDCClient\", \"RegisterClientCommand\")\n .f(void 0, RegisterClientResponseFilterSensitiveLog)\n .ser(se_RegisterClientCommand)\n .de(de_RegisterClientCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { StartDeviceAuthorizationRequestFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_StartDeviceAuthorizationCommand, se_StartDeviceAuthorizationCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class StartDeviceAuthorizationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSSOOIDCService\", \"StartDeviceAuthorization\", {})\n .n(\"SSOOIDCClient\", \"StartDeviceAuthorizationCommand\")\n .f(StartDeviceAuthorizationRequestFilterSensitiveLog, void 0)\n .ser(se_StartDeviceAuthorizationCommand)\n .de(de_StartDeviceAuthorizationCommand)\n .build() {\n}\n","import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { CreateTokenCommand } from \"./commands/CreateTokenCommand\";\nimport { CreateTokenWithIAMCommand, } from \"./commands/CreateTokenWithIAMCommand\";\nimport { RegisterClientCommand, } from \"./commands/RegisterClientCommand\";\nimport { StartDeviceAuthorizationCommand, } from \"./commands/StartDeviceAuthorizationCommand\";\nimport { SSOOIDCClient } from \"./SSOOIDCClient\";\nconst commands = {\n CreateTokenCommand,\n CreateTokenWithIAMCommand,\n RegisterClientCommand,\n StartDeviceAuthorizationCommand,\n};\nexport class SSOOIDC extends SSOOIDCClient {\n}\ncreateAggregatedClient(commands, SSOOIDC);\n","export * from \"./CreateTokenCommand\";\nexport * from \"./CreateTokenWithIAMCommand\";\nexport * from \"./RegisterClientCommand\";\nexport * from \"./StartDeviceAuthorizationCommand\";\n","export * from \"./models_0\";\n","export * from \"./SSOOIDCClient\";\nexport * from \"./SSOOIDC\";\nexport * from \"./commands\";\nexport * from \"./models\";\nexport { SSOOIDCServiceException } from \"./models/SSOOIDCServiceException\";\n","import { CreateTokenCommand, SSOOIDCClient } from \"@aws-sdk/client-sso-oidc\";\nexport { CreateTokenCommand, SSOOIDCClient };\n","const ssoOidcClientsHash = {};\nexport const getSsoOidcClient = async (ssoRegion) => {\n const { SSOOIDCClient } = await import(\"./loadSsoOidc\");\n if (ssoOidcClientsHash[ssoRegion]) {\n return ssoOidcClientsHash[ssoRegion];\n }\n const ssoOidcClient = new SSOOIDCClient({ region: ssoRegion });\n ssoOidcClientsHash[ssoRegion] = ssoOidcClient;\n return ssoOidcClient;\n};\n","import { getSsoOidcClient } from \"./getSsoOidcClient\";\nexport const getNewSsoOidcToken = async (ssoToken, ssoRegion) => {\n const { CreateTokenCommand } = await import(\"./loadSsoOidc\");\n const ssoOidcClient = await getSsoOidcClient(ssoRegion);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { REFRESH_MESSAGE } from \"./constants\";\nexport const validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n","import { getSSOTokenFilepath } from \"@smithy/shared-ini-file-loader\";\nimport { promises as fsPromises } from \"fs\";\nconst { writeFile } = fsPromises;\nexport const writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, getSSOTokenFromFile, loadSsoSessionData, parseKnownFiles, } from \"@smithy/shared-ini-file-loader\";\nimport { EXPIRE_WINDOW_MS, REFRESH_MESSAGE } from \"./constants\";\nimport { getNewSsoOidcToken } from \"./getNewSsoOidcToken\";\nimport { validateTokenExpiry } from \"./validateTokenExpiry\";\nimport { validateTokenKey } from \"./validateTokenKey\";\nimport { writeSSOTokenToFile } from \"./writeSSOTokenToFile\";\nconst lastRefreshAttemptTime = new Date(0);\nexport const fromSso = (init = {}) => async () => {\n init.logger?.debug(\"@aws-sdk/token-providers\", \"fromSso\");\n const profiles = await parseKnownFiles(init);\n const profileName = getProfileName(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n const ssoStartUrl = ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n","import { TokenProviderError } from \"@smithy/property-provider\";\nexport const fromStatic = ({ token, logger }) => async () => {\n logger?.debug(\"@aws-sdk/token-providers\", \"fromStatic\");\n if (!token || !token.token) {\n throw new TokenProviderError(`Please pass a valid token to fromStatic`, false);\n }\n return token;\n};\n","import { chain, memoize, TokenProviderError } from \"@smithy/property-provider\";\nimport { fromSso } from \"./fromSso\";\nexport const nodeProvider = (init = {}) => memoize(chain(fromSso(init), async () => {\n throw new TokenProviderError(\"Could not load token from any providers\", false);\n}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);\n","export * from \"./fromSso\";\nexport * from \"./fromStatic\";\nexport * from \"./nodeProvider\";\n","import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"awsssoportal\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSSOHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetRoleCredentials\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"ListAccountRoles\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"ListAccounts\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"Logout\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n return {\n ...config_0,\n };\n};\n","export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n };\n};\nexport const commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n","{\n \"name\": \"@aws-sdk/client-sso\",\n \"description\": \"AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native\",\n \"version\": \"3.556.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-sso\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"lerna run --scope $npm_package_name --include-dependencies build\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"rimraf ./dist-* && rimraf *.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo sso\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"3.0.0\",\n \"@aws-crypto/sha256-js\": \"3.0.0\",\n \"@aws-sdk/core\": \"3.556.0\",\n \"@aws-sdk/middleware-host-header\": \"3.535.0\",\n \"@aws-sdk/middleware-logger\": \"3.535.0\",\n \"@aws-sdk/middleware-recursion-detection\": \"3.535.0\",\n \"@aws-sdk/middleware-user-agent\": \"3.540.0\",\n \"@aws-sdk/region-config-resolver\": \"3.535.0\",\n \"@aws-sdk/types\": \"3.535.0\",\n \"@aws-sdk/util-endpoints\": \"3.540.0\",\n \"@aws-sdk/util-user-agent-browser\": \"3.535.0\",\n \"@aws-sdk/util-user-agent-node\": \"3.535.0\",\n \"@smithy/config-resolver\": \"^2.2.0\",\n \"@smithy/core\": \"^1.4.2\",\n \"@smithy/fetch-http-handler\": \"^2.5.0\",\n \"@smithy/hash-node\": \"^2.2.0\",\n \"@smithy/invalid-dependency\": \"^2.2.0\",\n \"@smithy/middleware-content-length\": \"^2.2.0\",\n \"@smithy/middleware-endpoint\": \"^2.5.1\",\n \"@smithy/middleware-retry\": \"^2.3.1\",\n \"@smithy/middleware-serde\": \"^2.3.0\",\n \"@smithy/middleware-stack\": \"^2.2.0\",\n \"@smithy/node-config-provider\": \"^2.3.0\",\n \"@smithy/node-http-handler\": \"^2.5.0\",\n \"@smithy/protocol-http\": \"^3.3.0\",\n \"@smithy/smithy-client\": \"^2.5.1\",\n \"@smithy/types\": \"^2.12.0\",\n \"@smithy/url-parser\": \"^2.2.0\",\n \"@smithy/util-base64\": \"^2.3.0\",\n \"@smithy/util-body-length-browser\": \"^2.2.0\",\n \"@smithy/util-body-length-node\": \"^2.3.0\",\n \"@smithy/util-defaults-mode-browser\": \"^2.2.1\",\n \"@smithy/util-defaults-mode-node\": \"^2.3.1\",\n \"@smithy/util-endpoints\": \"^1.2.0\",\n \"@smithy/util-middleware\": \"^2.2.0\",\n \"@smithy/util-retry\": \"^2.2.0\",\n \"@smithy/util-utf8\": \"^2.3.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@smithy/service-client-documentation-generator\": \"^2.2.0\",\n \"@tsconfig/node14\": \"1.0.3\",\n \"@types/node\": \"^14.14.31\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"rimraf\": \"3.0.2\",\n \"typescript\": \"~4.9.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-sso\"\n }\n}\n","const u = \"required\", v = \"fn\", w = \"argv\", x = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"getAttr\", i = { [u]: false, \"type\": \"String\" }, j = { [u]: true, \"default\": false, \"type\": \"Boolean\" }, k = { [x]: \"Endpoint\" }, l = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, true] }, m = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, \"supportsFIPS\"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, \"supportsDualStack\"] }] }, r = [l], s = [m], t = [{ [x]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { conditions: s, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: \"aws.partition\", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: \"stringEquals\", [w]: [{ [v]: h, [w]: [p, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://portal.sso.{Region}.amazonaws.com\", properties: n, headers: n }, type: e }, { endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }] };\nexport const ruleSet = _data;\n","import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSSOHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n","import packageInfo from \"../package.json\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion } from \"@aws-sdk/core\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { emitWarningIfUnsupportedVersion } from \"@smithy/smithy-client\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\n","export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n","import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n","import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSSOHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class SSOClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveRegionConfig(_config_1);\n const _config_3 = resolveEndpointConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveUserAgentConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n super(_config_8);\n this.config = _config_8;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),\n identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n getDefaultHttpAuthSchemeParametersProvider() {\n return defaultSSOHttpAuthSchemeParametersProvider;\n }\n getIdentityProviderConfigProvider() {\n return async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n });\n }\n}\n","import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class SSOServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\n","import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { SSOServiceException as __BaseException } from \"./SSOServiceException\";\nexport class InvalidRequestException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidRequestException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nexport class ResourceNotFoundException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexport class TooManyRequestsException extends __BaseException {\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"TooManyRequestsException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nexport class UnauthorizedException extends __BaseException {\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"UnauthorizedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\nexport const GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n});\nexport const RoleCredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.secretAccessKey && { secretAccessKey: SENSITIVE_STRING }),\n ...(obj.sessionToken && { sessionToken: SENSITIVE_STRING }),\n});\nexport const GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.roleCredentials && { roleCredentials: RoleCredentialsFilterSensitiveLog(obj.roleCredentials) }),\n});\nexport const ListAccountRolesRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n});\nexport const ListAccountsRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n});\nexport const LogoutRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),\n});\n","import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from \"@aws-sdk/core\";\nimport { requestBuilder as rb } from \"@smithy/core\";\nimport { _json, collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from \"@smithy/smithy-client\";\nimport { InvalidRequestException, ResourceNotFoundException, TooManyRequestsException, UnauthorizedException, } from \"../models/models_0\";\nimport { SSOServiceException as __BaseException } from \"../models/SSOServiceException\";\nexport const se_GetRoleCredentialsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_xasbt]: input[_aT],\n });\n b.bp(\"/federation/credentials\");\n const query = map({\n [_rn]: [, __expectNonNull(input[_rN], `roleName`)],\n [_ai]: [, __expectNonNull(input[_aI], `accountId`)],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListAccountRolesCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_xasbt]: input[_aT],\n });\n b.bp(\"/assignment/roles\");\n const query = map({\n [_nt]: [, input[_nT]],\n [_mr]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_ai]: [, __expectNonNull(input[_aI], `accountId`)],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListAccountsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_xasbt]: input[_aT],\n });\n b.bp(\"/assignment/accounts\");\n const query = map({\n [_nt]: [, input[_nT]],\n [_mr]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_LogoutCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_xasbt]: input[_aT],\n });\n b.bp(\"/logout\");\n let body;\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const de_GetRoleCredentialsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n roleCredentials: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListAccountRolesCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n nextToken: __expectString,\n roleList: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListAccountsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n accountList: _json,\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_LogoutCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidRequestException\":\n case \"com.amazonaws.sso#InvalidRequestException\":\n throw await de_InvalidRequestExceptionRes(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.sso#ResourceNotFoundException\":\n throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);\n case \"TooManyRequestsException\":\n case \"com.amazonaws.sso#TooManyRequestsException\":\n throw await de_TooManyRequestsExceptionRes(parsedOutput, context);\n case \"UnauthorizedException\":\n case \"com.amazonaws.sso#UnauthorizedException\":\n throw await de_UnauthorizedExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody,\n errorCode,\n });\n }\n};\nconst throwDefaultError = withBaseException(__BaseException);\nconst de_InvalidRequestExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InvalidRequestException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_TooManyRequestsExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new TooManyRequestsException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_UnauthorizedExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new UnauthorizedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst deserializeMetadata = (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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst _aI = \"accountId\";\nconst _aT = \"accessToken\";\nconst _ai = \"account_id\";\nconst _mR = \"maxResults\";\nconst _mr = \"max_result\";\nconst _nT = \"nextToken\";\nconst _nt = \"next_token\";\nconst _rN = \"roleName\";\nconst _rn = \"role_name\";\nconst _xasbt = \"x-amz-sso_bearer_token\";\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetRoleCredentialsRequestFilterSensitiveLog, GetRoleCredentialsResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_GetRoleCredentialsCommand, se_GetRoleCredentialsCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class GetRoleCredentialsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"SWBPortalService\", \"GetRoleCredentials\", {})\n .n(\"SSOClient\", \"GetRoleCredentialsCommand\")\n .f(GetRoleCredentialsRequestFilterSensitiveLog, GetRoleCredentialsResponseFilterSensitiveLog)\n .ser(se_GetRoleCredentialsCommand)\n .de(de_GetRoleCredentialsCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListAccountRolesRequestFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_ListAccountRolesCommand, se_ListAccountRolesCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class ListAccountRolesCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"SWBPortalService\", \"ListAccountRoles\", {})\n .n(\"SSOClient\", \"ListAccountRolesCommand\")\n .f(ListAccountRolesRequestFilterSensitiveLog, void 0)\n .ser(se_ListAccountRolesCommand)\n .de(de_ListAccountRolesCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListAccountsRequestFilterSensitiveLog } from \"../models/models_0\";\nimport { de_ListAccountsCommand, se_ListAccountsCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class ListAccountsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"SWBPortalService\", \"ListAccounts\", {})\n .n(\"SSOClient\", \"ListAccountsCommand\")\n .f(ListAccountsRequestFilterSensitiveLog, void 0)\n .ser(se_ListAccountsCommand)\n .de(de_ListAccountsCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { LogoutRequestFilterSensitiveLog } from \"../models/models_0\";\nimport { de_LogoutCommand, se_LogoutCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class LogoutCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"SWBPortalService\", \"Logout\", {})\n .n(\"SSOClient\", \"LogoutCommand\")\n .f(LogoutRequestFilterSensitiveLog, void 0)\n .ser(se_LogoutCommand)\n .de(de_LogoutCommand)\n .build() {\n}\n","import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { GetRoleCredentialsCommand, } from \"./commands/GetRoleCredentialsCommand\";\nimport { ListAccountRolesCommand, } from \"./commands/ListAccountRolesCommand\";\nimport { ListAccountsCommand, } from \"./commands/ListAccountsCommand\";\nimport { LogoutCommand } from \"./commands/LogoutCommand\";\nimport { SSOClient } from \"./SSOClient\";\nconst commands = {\n GetRoleCredentialsCommand,\n ListAccountRolesCommand,\n ListAccountsCommand,\n LogoutCommand,\n};\nexport class SSO extends SSOClient {\n}\ncreateAggregatedClient(commands, SSO);\n","export * from \"./GetRoleCredentialsCommand\";\nexport * from \"./ListAccountRolesCommand\";\nexport * from \"./ListAccountsCommand\";\nexport * from \"./LogoutCommand\";\n","export {};\n","import { createPaginator } from \"@smithy/core\";\nimport { ListAccountRolesCommand, } from \"../commands/ListAccountRolesCommand\";\nimport { SSOClient } from \"../SSOClient\";\nexport const paginateListAccountRoles = createPaginator(SSOClient, ListAccountRolesCommand, \"nextToken\", \"nextToken\", \"maxResults\");\n","import { createPaginator } from \"@smithy/core\";\nimport { ListAccountsCommand, } from \"../commands/ListAccountsCommand\";\nimport { SSOClient } from \"../SSOClient\";\nexport const paginateListAccounts = createPaginator(SSOClient, ListAccountsCommand, \"nextToken\", \"nextToken\", \"maxResults\");\n","export * from \"./Interfaces\";\nexport * from \"./ListAccountRolesPaginator\";\nexport * from \"./ListAccountsPaginator\";\n","export * from \"./models_0\";\n","export * from \"./SSOClient\";\nexport * from \"./SSO\";\nexport * from \"./commands\";\nexport * from \"./pagination\";\nexport * from \"./models\";\nexport { SSOServiceException } from \"./models/SSOServiceException\";\n","import { GetRoleCredentialsCommand, SSOClient } from \"@aws-sdk/client-sso\";\nexport { GetRoleCredentialsCommand, SSOClient };\n","import { fromSso as getSsoTokenProvider } from \"@aws-sdk/token-providers\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getSSOTokenFromFile } from \"@smithy/shared-ini-file-loader\";\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nexport const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, profile, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await getSsoTokenProvider({ profile })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new CredentialsProviderError(e.message, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n else {\n try {\n token = await getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await import(\"./loadSso\");\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n region: clientConfig?.region ?? ssoRegion,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw CredentialsProviderError.from(e, SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope } = {} } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new CredentialsProviderError(\"SSO returns an invalid temporary credential.\", SHOULD_FAIL_CREDENTIAL_CHAIN);\n }\n return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration), credentialScope };\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const validateSsoProfile = (profile) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false);\n }\n return profile;\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName, loadSsoSessionData, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { isSsoProfile } from \"./isSsoProfile\";\nimport { resolveSSOCredentials } from \"./resolveSSOCredentials\";\nimport { validateSsoProfile } from \"./validateSsoProfile\";\nexport const fromSSO = (init = {}) => async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso\", \"fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = getProfileName(init);\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new CredentialsProviderError(`Profile ${profileName} was not found.`);\n }\n if (!isSsoProfile(profile)) {\n throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`);\n }\n if (profile?.sso_session) {\n const ssoSessions = await loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, false);\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, false);\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n profile: profileName,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"');\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n profile: profileName,\n });\n }\n};\n","export {};\n","export * from \"./fromSSO\";\nexport * from \"./isSsoProfile\";\nexport * from \"./types\";\nexport * from \"./validateSsoProfile\";\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const resolveCredentialSource = (credentialSource, profileName) => {\n const sourceProvidersMap = {\n EcsContainer: (options) => import(\"@smithy/credential-provider-imds\").then(({ fromContainerMetadata }) => fromContainerMetadata(options)),\n Ec2InstanceMetadata: (options) => import(\"@smithy/credential-provider-imds\").then(({ fromInstanceMetadata }) => fromInstanceMetadata(options)),\n Environment: (options) => import(\"@aws-sdk/credential-provider-env\").then(({ fromEnv }) => fromEnv(options)),\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`);\n }\n};\n","import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { STSClient } from \"../STSClient\";\nexport const defaultSTSHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sts\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSTSHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"AssumeRoleWithSAML\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n case \"AssumeRoleWithWebIdentity\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveStsAuthConfig = (input) => ({\n ...input,\n stsClientCtor: STSClient,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveStsAuthConfig(config);\n const config_1 = resolveAwsSdkSigV4Config(config_0);\n return {\n ...config_1,\n };\n};\n","export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n defaultSigningName: \"sts\",\n };\n};\nexport const commonParams = {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n","{\n \"name\": \"@aws-sdk/client-sts\",\n \"description\": \"AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native\",\n \"version\": \"3.556.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-sts\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"lerna run --scope $npm_package_name --include-dependencies build\",\n \"build:types\": \"rimraf ./dist-types tsconfig.types.tsbuildinfo && tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"rimraf ./dist-* && rimraf *.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo sts\",\n \"test\": \"yarn test:unit\",\n \"test:unit\": \"jest\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"3.0.0\",\n \"@aws-crypto/sha256-js\": \"3.0.0\",\n \"@aws-sdk/core\": \"3.556.0\",\n \"@aws-sdk/middleware-host-header\": \"3.535.0\",\n \"@aws-sdk/middleware-logger\": \"3.535.0\",\n \"@aws-sdk/middleware-recursion-detection\": \"3.535.0\",\n \"@aws-sdk/middleware-user-agent\": \"3.540.0\",\n \"@aws-sdk/region-config-resolver\": \"3.535.0\",\n \"@aws-sdk/types\": \"3.535.0\",\n \"@aws-sdk/util-endpoints\": \"3.540.0\",\n \"@aws-sdk/util-user-agent-browser\": \"3.535.0\",\n \"@aws-sdk/util-user-agent-node\": \"3.535.0\",\n \"@smithy/config-resolver\": \"^2.2.0\",\n \"@smithy/core\": \"^1.4.2\",\n \"@smithy/fetch-http-handler\": \"^2.5.0\",\n \"@smithy/hash-node\": \"^2.2.0\",\n \"@smithy/invalid-dependency\": \"^2.2.0\",\n \"@smithy/middleware-content-length\": \"^2.2.0\",\n \"@smithy/middleware-endpoint\": \"^2.5.1\",\n \"@smithy/middleware-retry\": \"^2.3.1\",\n \"@smithy/middleware-serde\": \"^2.3.0\",\n \"@smithy/middleware-stack\": \"^2.2.0\",\n \"@smithy/node-config-provider\": \"^2.3.0\",\n \"@smithy/node-http-handler\": \"^2.5.0\",\n \"@smithy/protocol-http\": \"^3.3.0\",\n \"@smithy/smithy-client\": \"^2.5.1\",\n \"@smithy/types\": \"^2.12.0\",\n \"@smithy/url-parser\": \"^2.2.0\",\n \"@smithy/util-base64\": \"^2.3.0\",\n \"@smithy/util-body-length-browser\": \"^2.2.0\",\n \"@smithy/util-body-length-node\": \"^2.3.0\",\n \"@smithy/util-defaults-mode-browser\": \"^2.2.1\",\n \"@smithy/util-defaults-mode-node\": \"^2.3.1\",\n \"@smithy/util-endpoints\": \"^1.2.0\",\n \"@smithy/util-middleware\": \"^2.2.0\",\n \"@smithy/util-retry\": \"^2.2.0\",\n \"@smithy/util-utf8\": \"^2.3.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@smithy/service-client-documentation-generator\": \"^2.2.0\",\n \"@tsconfig/node14\": \"1.0.3\",\n \"@types/node\": \"^14.14.31\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"rimraf\": \"3.0.2\",\n \"typescript\": \"~4.9.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"peerDependencies\": {\n \"@aws-sdk/credential-provider-node\": \"^3.556.0\"\n },\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-sts\"\n }\n}\n","export const defaultProvider = ((input) => {\n return () => import(\"@aws-sdk/credential-provider-node\").then(({ defaultProvider }) => defaultProvider(input)());\n});\n","const F = \"required\", G = \"type\", H = \"fn\", I = \"argv\", J = \"ref\";\nconst a = false, b = true, c = \"booleanEquals\", d = \"stringEquals\", e = \"sigv4\", f = \"sts\", g = \"us-east-1\", h = \"endpoint\", i = \"https://sts.{Region}.{PartitionResult#dnsSuffix}\", j = \"tree\", k = \"error\", l = \"getAttr\", m = { [F]: false, [G]: \"String\" }, n = { [F]: true, \"default\": false, [G]: \"Boolean\" }, o = { [J]: \"Endpoint\" }, p = { [H]: \"isSet\", [I]: [{ [J]: \"Region\" }] }, q = { [J]: \"Region\" }, r = { [H]: \"aws.partition\", [I]: [q], \"assign\": \"PartitionResult\" }, s = { [J]: \"UseFIPS\" }, t = { [J]: \"UseDualStack\" }, u = { \"url\": \"https://sts.amazonaws.com\", \"properties\": { \"authSchemes\": [{ \"name\": e, \"signingName\": f, \"signingRegion\": g }] }, \"headers\": {} }, v = {}, w = { \"conditions\": [{ [H]: d, [I]: [q, \"aws-global\"] }], [h]: u, [G]: h }, x = { [H]: c, [I]: [s, true] }, y = { [H]: c, [I]: [t, true] }, z = { [H]: l, [I]: [{ [J]: \"PartitionResult\" }, \"supportsFIPS\"] }, A = { [J]: \"PartitionResult\" }, B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, \"supportsDualStack\"] }] }, C = [{ [H]: \"isSet\", [I]: [o] }], D = [x], E = [y];\nconst _data = { version: \"1.0\", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: \"UseGlobalEndpoint\" }, b] }, { [H]: \"not\", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], rules: [{ conditions: [{ [H]: d, [I]: [q, \"ap-northeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-south-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-2\"] }], endpoint: u, [G]: h }, w, { conditions: [{ [H]: d, [I]: [q, \"ca-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-north-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-3\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"sa-east-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, g] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-east-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-2\"] }], endpoint: u, [G]: h }, { endpoint: { url: i, properties: { authSchemes: [{ name: e, signingName: f, signingRegion: \"{Region}\" }] }, headers: v }, [G]: h }], [G]: j }, { conditions: C, rules: [{ conditions: D, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", [G]: k }, { conditions: E, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: h }], [G]: j }, { conditions: [p], rules: [{ conditions: [r], rules: [{ conditions: [x, y], rules: [{ conditions: [{ [H]: c, [I]: [b, z] }, B], rules: [{ endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", [G]: k }], [G]: j }, { conditions: D, rules: [{ conditions: [{ [H]: c, [I]: [z, b] }], rules: [{ conditions: [{ [H]: d, [I]: [{ [H]: l, [I]: [A, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://sts.{Region}.amazonaws.com\", properties: v, headers: v }, [G]: h }, { endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS is enabled but this partition does not support FIPS\", [G]: k }], [G]: j }, { conditions: E, rules: [{ conditions: [B], rules: [{ endpoint: { url: \"https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"DualStack is enabled but this partition does not support DualStack\", [G]: k }], [G]: j }, w, { endpoint: { url: i, properties: v, headers: v }, [G]: h }], [G]: j }], [G]: j }, { error: \"Invalid Configuration: Missing Region\", [G]: k }] };\nexport const ruleSet = _data;\n","import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSTSHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2011-06-15\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"STS\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n","import packageInfo from \"../package.json\";\nimport { defaultProvider as credentialDefaultProvider } from \"./credentialDefaultProvider\";\nimport { AwsSdkSigV4Signer, emitWarningIfUnsupportedVersion as awsCheckVersion } from \"@aws-sdk/core\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { emitWarningIfUnsupportedVersion } from \"@smithy/smithy-client\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? credentialDefaultProvider,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\") ||\n (async (idProps) => await credentialDefaultProvider(idProps?.__config || {})()),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\n","export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n","import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n","import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSTSHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class STSClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveRegionConfig(_config_1);\n const _config_3 = resolveEndpointConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveUserAgentConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n super(_config_8);\n this.config = _config_8;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),\n identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n getDefaultHttpAuthSchemeParametersProvider() {\n return defaultSTSHttpAuthSchemeParametersProvider;\n }\n getIdentityProviderConfigProvider() {\n return async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n });\n }\n}\n","import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class STSServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, STSServiceException.prototype);\n }\n}\n","import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { STSServiceException as __BaseException } from \"./STSServiceException\";\nexport class ExpiredTokenException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ExpiredTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n }\n}\nexport class MalformedPolicyDocumentException extends __BaseException {\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"MalformedPolicyDocumentException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n }\n}\nexport class PackedPolicyTooLargeException extends __BaseException {\n constructor(opts) {\n super({\n name: \"PackedPolicyTooLargeException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"PackedPolicyTooLargeException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);\n }\n}\nexport class RegionDisabledException extends __BaseException {\n constructor(opts) {\n super({\n name: \"RegionDisabledException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"RegionDisabledException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, RegionDisabledException.prototype);\n }\n}\nexport class IDPRejectedClaimException extends __BaseException {\n constructor(opts) {\n super({\n name: \"IDPRejectedClaimException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPRejectedClaimException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);\n }\n}\nexport class InvalidIdentityTokenException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidIdentityTokenException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidIdentityTokenException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);\n }\n}\nexport class IDPCommunicationErrorException extends __BaseException {\n constructor(opts) {\n super({\n name: \"IDPCommunicationErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"IDPCommunicationErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);\n }\n}\nexport class InvalidAuthorizationMessageException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InvalidAuthorizationMessageException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"InvalidAuthorizationMessageException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, InvalidAuthorizationMessageException.prototype);\n }\n}\nexport const CredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SecretAccessKey && { SecretAccessKey: SENSITIVE_STRING }),\n});\nexport const AssumeRoleResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport const AssumeRoleWithSAMLRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SAMLAssertion && { SAMLAssertion: SENSITIVE_STRING }),\n});\nexport const AssumeRoleWithSAMLResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport const AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.WebIdentityToken && { WebIdentityToken: SENSITIVE_STRING }),\n});\nexport const AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport const GetFederationTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport const GetSessionTokenResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\n","import { parseXmlBody as parseBody, parseXmlErrorBody as parseErrorBody } from \"@aws-sdk/core\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, strictParseInt32 as __strictParseInt32, withBaseException, } from \"@smithy/smithy-client\";\nimport { ExpiredTokenException, IDPCommunicationErrorException, IDPRejectedClaimException, InvalidAuthorizationMessageException, InvalidIdentityTokenException, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, } from \"../models/models_0\";\nimport { STSServiceException as __BaseException } from \"../models/STSServiceException\";\nexport const se_AssumeRoleCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_AssumeRoleRequest(input, context),\n [_A]: _AR,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_AssumeRoleWithSAMLCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_AssumeRoleWithSAMLRequest(input, context),\n [_A]: _ARWSAML,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_AssumeRoleWithWebIdentityCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_AssumeRoleWithWebIdentityRequest(input, context),\n [_A]: _ARWWI,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_DecodeAuthorizationMessageCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_DecodeAuthorizationMessageRequest(input, context),\n [_A]: _DAM,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_GetAccessKeyInfoCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_GetAccessKeyInfoRequest(input, context),\n [_A]: _GAKI,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_GetCallerIdentityCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_GetCallerIdentityRequest(input, context),\n [_A]: _GCI,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_GetFederationTokenCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_GetFederationTokenRequest(input, context),\n [_A]: _GFT,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_GetSessionTokenCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_GetSessionTokenRequest(input, context),\n [_A]: _GST,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const de_AssumeRoleCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_AssumeRoleResponse(data.AssumeRoleResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_AssumeRoleWithSAMLCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_AssumeRoleWithSAMLResponse(data.AssumeRoleWithSAMLResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_AssumeRoleWithWebIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_DecodeAuthorizationMessageCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_DecodeAuthorizationMessageResponse(data.DecodeAuthorizationMessageResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_GetAccessKeyInfoCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_GetAccessKeyInfoResponse(data.GetAccessKeyInfoResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_GetCallerIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_GetCallerIdentityResponse(data.GetCallerIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_GetFederationTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_GetFederationTokenResponse(data.GetFederationTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_GetSessionTokenCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_GetSessionTokenResponse(data.GetSessionTokenResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await de_ExpiredTokenExceptionRes(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await de_RegionDisabledExceptionRes(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context);\n case \"IDPCommunicationError\":\n case \"com.amazonaws.sts#IDPCommunicationErrorException\":\n throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context);\n case \"InvalidAuthorizationMessageException\":\n case \"com.amazonaws.sts#InvalidAuthorizationMessageException\":\n throw await de_InvalidAuthorizationMessageExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody: parsedBody.Error,\n errorCode,\n });\n }\n};\nconst de_ExpiredTokenExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_ExpiredTokenException(body.Error, context);\n const exception = new ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_IDPCommunicationErrorException(body.Error, context);\n const exception = new IDPCommunicationErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_IDPRejectedClaimException(body.Error, context);\n const exception = new IDPRejectedClaimException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_InvalidAuthorizationMessageExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_InvalidAuthorizationMessageException(body.Error, context);\n const exception = new InvalidAuthorizationMessageException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_InvalidIdentityTokenException(body.Error, context);\n const exception = new InvalidIdentityTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_MalformedPolicyDocumentException(body.Error, context);\n const exception = new MalformedPolicyDocumentException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_PackedPolicyTooLargeException(body.Error, context);\n const exception = new PackedPolicyTooLargeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_RegionDisabledExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_RegionDisabledException(body.Error, context);\n const exception = new RegionDisabledException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst se_AssumeRoleRequest = (input, context) => {\n const entries = {};\n if (input[_RA] != null) {\n entries[_RA] = input[_RA];\n }\n if (input[_RSN] != null) {\n entries[_RSN] = input[_RSN];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n if (input[_T] != null) {\n const memberEntries = se_tagListType(input[_T], context);\n if (input[_T]?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_TTK] != null) {\n const memberEntries = se_tagKeyListType(input[_TTK], context);\n if (input[_TTK]?.length === 0) {\n entries.TransitiveTagKeys = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `TransitiveTagKeys.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_EI] != null) {\n entries[_EI] = input[_EI];\n }\n if (input[_SN] != null) {\n entries[_SN] = input[_SN];\n }\n if (input[_TC] != null) {\n entries[_TC] = input[_TC];\n }\n if (input[_SI] != null) {\n entries[_SI] = input[_SI];\n }\n if (input[_PC] != null) {\n const memberEntries = se_ProvidedContextsListType(input[_PC], context);\n if (input[_PC]?.length === 0) {\n entries.ProvidedContexts = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `ProvidedContexts.${key}`;\n entries[loc] = value;\n });\n }\n return entries;\n};\nconst se_AssumeRoleWithSAMLRequest = (input, context) => {\n const entries = {};\n if (input[_RA] != null) {\n entries[_RA] = input[_RA];\n }\n if (input[_PAr] != null) {\n entries[_PAr] = input[_PAr];\n }\n if (input[_SAMLA] != null) {\n entries[_SAMLA] = input[_SAMLA];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n return entries;\n};\nconst se_AssumeRoleWithWebIdentityRequest = (input, context) => {\n const entries = {};\n if (input[_RA] != null) {\n entries[_RA] = input[_RA];\n }\n if (input[_RSN] != null) {\n entries[_RSN] = input[_RSN];\n }\n if (input[_WIT] != null) {\n entries[_WIT] = input[_WIT];\n }\n if (input[_PI] != null) {\n entries[_PI] = input[_PI];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n return entries;\n};\nconst se_DecodeAuthorizationMessageRequest = (input, context) => {\n const entries = {};\n if (input[_EM] != null) {\n entries[_EM] = input[_EM];\n }\n return entries;\n};\nconst se_GetAccessKeyInfoRequest = (input, context) => {\n const entries = {};\n if (input[_AKI] != null) {\n entries[_AKI] = input[_AKI];\n }\n return entries;\n};\nconst se_GetCallerIdentityRequest = (input, context) => {\n const entries = {};\n return entries;\n};\nconst se_GetFederationTokenRequest = (input, context) => {\n const entries = {};\n if (input[_N] != null) {\n entries[_N] = input[_N];\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n if (input[_T] != null) {\n const memberEntries = se_tagListType(input[_T], context);\n if (input[_T]?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n return entries;\n};\nconst se_GetSessionTokenRequest = (input, context) => {\n const entries = {};\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n if (input[_SN] != null) {\n entries[_SN] = input[_SN];\n }\n if (input[_TC] != null) {\n entries[_TC] = input[_TC];\n }\n return entries;\n};\nconst se_policyDescriptorListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_PolicyDescriptorType(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst se_PolicyDescriptorType = (input, context) => {\n const entries = {};\n if (input[_a] != null) {\n entries[_a] = input[_a];\n }\n return entries;\n};\nconst se_ProvidedContext = (input, context) => {\n const entries = {};\n if (input[_PAro] != null) {\n entries[_PAro] = input[_PAro];\n }\n if (input[_CA] != null) {\n entries[_CA] = input[_CA];\n }\n return entries;\n};\nconst se_ProvidedContextsListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_ProvidedContext(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst se_Tag = (input, context) => {\n const entries = {};\n if (input[_K] != null) {\n entries[_K] = input[_K];\n }\n if (input[_Va] != null) {\n entries[_Va] = input[_Va];\n }\n return entries;\n};\nconst se_tagKeyListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n entries[`member.${counter}`] = entry;\n counter++;\n }\n return entries;\n};\nconst se_tagListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_Tag(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst de_AssumedRoleUser = (output, context) => {\n const contents = {};\n if (output[_ARI] != null) {\n contents[_ARI] = __expectString(output[_ARI]);\n }\n if (output[_Ar] != null) {\n contents[_Ar] = __expectString(output[_Ar]);\n }\n return contents;\n};\nconst de_AssumeRoleResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_ARU] != null) {\n contents[_ARU] = de_AssumedRoleUser(output[_ARU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n if (output[_SI] != null) {\n contents[_SI] = __expectString(output[_SI]);\n }\n return contents;\n};\nconst de_AssumeRoleWithSAMLResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_ARU] != null) {\n contents[_ARU] = de_AssumedRoleUser(output[_ARU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n if (output[_S] != null) {\n contents[_S] = __expectString(output[_S]);\n }\n if (output[_ST] != null) {\n contents[_ST] = __expectString(output[_ST]);\n }\n if (output[_I] != null) {\n contents[_I] = __expectString(output[_I]);\n }\n if (output[_Au] != null) {\n contents[_Au] = __expectString(output[_Au]);\n }\n if (output[_NQ] != null) {\n contents[_NQ] = __expectString(output[_NQ]);\n }\n if (output[_SI] != null) {\n contents[_SI] = __expectString(output[_SI]);\n }\n return contents;\n};\nconst de_AssumeRoleWithWebIdentityResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_SFWIT] != null) {\n contents[_SFWIT] = __expectString(output[_SFWIT]);\n }\n if (output[_ARU] != null) {\n contents[_ARU] = de_AssumedRoleUser(output[_ARU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n if (output[_Pr] != null) {\n contents[_Pr] = __expectString(output[_Pr]);\n }\n if (output[_Au] != null) {\n contents[_Au] = __expectString(output[_Au]);\n }\n if (output[_SI] != null) {\n contents[_SI] = __expectString(output[_SI]);\n }\n return contents;\n};\nconst de_Credentials = (output, context) => {\n const contents = {};\n if (output[_AKI] != null) {\n contents[_AKI] = __expectString(output[_AKI]);\n }\n if (output[_SAK] != null) {\n contents[_SAK] = __expectString(output[_SAK]);\n }\n if (output[_STe] != null) {\n contents[_STe] = __expectString(output[_STe]);\n }\n if (output[_E] != null) {\n contents[_E] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_E]));\n }\n return contents;\n};\nconst de_DecodeAuthorizationMessageResponse = (output, context) => {\n const contents = {};\n if (output[_DM] != null) {\n contents[_DM] = __expectString(output[_DM]);\n }\n return contents;\n};\nconst de_ExpiredTokenException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_FederatedUser = (output, context) => {\n const contents = {};\n if (output[_FUI] != null) {\n contents[_FUI] = __expectString(output[_FUI]);\n }\n if (output[_Ar] != null) {\n contents[_Ar] = __expectString(output[_Ar]);\n }\n return contents;\n};\nconst de_GetAccessKeyInfoResponse = (output, context) => {\n const contents = {};\n if (output[_Ac] != null) {\n contents[_Ac] = __expectString(output[_Ac]);\n }\n return contents;\n};\nconst de_GetCallerIdentityResponse = (output, context) => {\n const contents = {};\n if (output[_UI] != null) {\n contents[_UI] = __expectString(output[_UI]);\n }\n if (output[_Ac] != null) {\n contents[_Ac] = __expectString(output[_Ac]);\n }\n if (output[_Ar] != null) {\n contents[_Ar] = __expectString(output[_Ar]);\n }\n return contents;\n};\nconst de_GetFederationTokenResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_FU] != null) {\n contents[_FU] = de_FederatedUser(output[_FU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n return contents;\n};\nconst de_GetSessionTokenResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n return contents;\n};\nconst de_IDPCommunicationErrorException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_IDPRejectedClaimException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_InvalidAuthorizationMessageException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_InvalidIdentityTokenException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_MalformedPolicyDocumentException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_PackedPolicyTooLargeException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_RegionDisabledException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst deserializeMetadata = (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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst throwDefaultError = withBaseException(__BaseException);\nconst 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 };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new __HttpRequest(contents);\n};\nconst SHARED_HEADERS = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n};\nconst _ = \"2011-06-15\";\nconst _A = \"Action\";\nconst _AKI = \"AccessKeyId\";\nconst _AR = \"AssumeRole\";\nconst _ARI = \"AssumedRoleId\";\nconst _ARU = \"AssumedRoleUser\";\nconst _ARWSAML = \"AssumeRoleWithSAML\";\nconst _ARWWI = \"AssumeRoleWithWebIdentity\";\nconst _Ac = \"Account\";\nconst _Ar = \"Arn\";\nconst _Au = \"Audience\";\nconst _C = \"Credentials\";\nconst _CA = \"ContextAssertion\";\nconst _DAM = \"DecodeAuthorizationMessage\";\nconst _DM = \"DecodedMessage\";\nconst _DS = \"DurationSeconds\";\nconst _E = \"Expiration\";\nconst _EI = \"ExternalId\";\nconst _EM = \"EncodedMessage\";\nconst _FU = \"FederatedUser\";\nconst _FUI = \"FederatedUserId\";\nconst _GAKI = \"GetAccessKeyInfo\";\nconst _GCI = \"GetCallerIdentity\";\nconst _GFT = \"GetFederationToken\";\nconst _GST = \"GetSessionToken\";\nconst _I = \"Issuer\";\nconst _K = \"Key\";\nconst _N = \"Name\";\nconst _NQ = \"NameQualifier\";\nconst _P = \"Policy\";\nconst _PA = \"PolicyArns\";\nconst _PAr = \"PrincipalArn\";\nconst _PAro = \"ProviderArn\";\nconst _PC = \"ProvidedContexts\";\nconst _PI = \"ProviderId\";\nconst _PPS = \"PackedPolicySize\";\nconst _Pr = \"Provider\";\nconst _RA = \"RoleArn\";\nconst _RSN = \"RoleSessionName\";\nconst _S = \"Subject\";\nconst _SAK = \"SecretAccessKey\";\nconst _SAMLA = \"SAMLAssertion\";\nconst _SFWIT = \"SubjectFromWebIdentityToken\";\nconst _SI = \"SourceIdentity\";\nconst _SN = \"SerialNumber\";\nconst _ST = \"SubjectType\";\nconst _STe = \"SessionToken\";\nconst _T = \"Tags\";\nconst _TC = \"TokenCode\";\nconst _TTK = \"TransitiveTagKeys\";\nconst _UI = \"UserId\";\nconst _V = \"Version\";\nconst _Va = \"Value\";\nconst _WIT = \"WebIdentityToken\";\nconst _a = \"arn\";\nconst _m = \"message\";\nconst buildFormUrlencodedString = (formEntries) => Object.entries(formEntries)\n .map(([key, value]) => __extendedEncodeURIComponent(key) + \"=\" + __extendedEncodeURIComponent(value))\n .join(\"&\");\nconst loadQueryErrorCode = (output, data) => {\n if (data.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleResponseFilterSensitiveLog } from \"../models/models_0\";\nimport { de_AssumeRoleCommand, se_AssumeRoleCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class AssumeRoleCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRole\", {})\n .n(\"STSClient\", \"AssumeRoleCommand\")\n .f(void 0, AssumeRoleResponseFilterSensitiveLog)\n .ser(se_AssumeRoleCommand)\n .de(de_AssumeRoleCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleWithSAMLRequestFilterSensitiveLog, AssumeRoleWithSAMLResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_AssumeRoleWithSAMLCommand, se_AssumeRoleWithSAMLCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class AssumeRoleWithSAMLCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRoleWithSAML\", {})\n .n(\"STSClient\", \"AssumeRoleWithSAMLCommand\")\n .f(AssumeRoleWithSAMLRequestFilterSensitiveLog, AssumeRoleWithSAMLResponseFilterSensitiveLog)\n .ser(se_AssumeRoleWithSAMLCommand)\n .de(de_AssumeRoleWithSAMLCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleWithWebIdentityRequestFilterSensitiveLog, AssumeRoleWithWebIdentityResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_AssumeRoleWithWebIdentityCommand, se_AssumeRoleWithWebIdentityCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class AssumeRoleWithWebIdentityCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRoleWithWebIdentity\", {})\n .n(\"STSClient\", \"AssumeRoleWithWebIdentityCommand\")\n .f(AssumeRoleWithWebIdentityRequestFilterSensitiveLog, AssumeRoleWithWebIdentityResponseFilterSensitiveLog)\n .ser(se_AssumeRoleWithWebIdentityCommand)\n .de(de_AssumeRoleWithWebIdentityCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_DecodeAuthorizationMessageCommand, se_DecodeAuthorizationMessageCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class DecodeAuthorizationMessageCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"DecodeAuthorizationMessage\", {})\n .n(\"STSClient\", \"DecodeAuthorizationMessageCommand\")\n .f(void 0, void 0)\n .ser(se_DecodeAuthorizationMessageCommand)\n .de(de_DecodeAuthorizationMessageCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_GetAccessKeyInfoCommand, se_GetAccessKeyInfoCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class GetAccessKeyInfoCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"GetAccessKeyInfo\", {})\n .n(\"STSClient\", \"GetAccessKeyInfoCommand\")\n .f(void 0, void 0)\n .ser(se_GetAccessKeyInfoCommand)\n .de(de_GetAccessKeyInfoCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_GetCallerIdentityCommand, se_GetCallerIdentityCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class GetCallerIdentityCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"GetCallerIdentity\", {})\n .n(\"STSClient\", \"GetCallerIdentityCommand\")\n .f(void 0, void 0)\n .ser(se_GetCallerIdentityCommand)\n .de(de_GetCallerIdentityCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetFederationTokenResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_GetFederationTokenCommand, se_GetFederationTokenCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class GetFederationTokenCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"GetFederationToken\", {})\n .n(\"STSClient\", \"GetFederationTokenCommand\")\n .f(void 0, GetFederationTokenResponseFilterSensitiveLog)\n .ser(se_GetFederationTokenCommand)\n .de(de_GetFederationTokenCommand)\n .build() {\n}\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetSessionTokenResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_GetSessionTokenCommand, se_GetSessionTokenCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class GetSessionTokenCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"GetSessionToken\", {})\n .n(\"STSClient\", \"GetSessionTokenCommand\")\n .f(void 0, GetSessionTokenResponseFilterSensitiveLog)\n .ser(se_GetSessionTokenCommand)\n .de(de_GetSessionTokenCommand)\n .build() {\n}\n","import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithSAMLCommand, } from \"./commands/AssumeRoleWithSAMLCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nimport { DecodeAuthorizationMessageCommand, } from \"./commands/DecodeAuthorizationMessageCommand\";\nimport { GetAccessKeyInfoCommand, } from \"./commands/GetAccessKeyInfoCommand\";\nimport { GetCallerIdentityCommand, } from \"./commands/GetCallerIdentityCommand\";\nimport { GetFederationTokenCommand, } from \"./commands/GetFederationTokenCommand\";\nimport { GetSessionTokenCommand, } from \"./commands/GetSessionTokenCommand\";\nimport { STSClient } from \"./STSClient\";\nconst commands = {\n AssumeRoleCommand,\n AssumeRoleWithSAMLCommand,\n AssumeRoleWithWebIdentityCommand,\n DecodeAuthorizationMessageCommand,\n GetAccessKeyInfoCommand,\n GetCallerIdentityCommand,\n GetFederationTokenCommand,\n GetSessionTokenCommand,\n};\nexport class STS extends STSClient {\n}\ncreateAggregatedClient(commands, STS);\n","export * from \"./AssumeRoleCommand\";\nexport * from \"./AssumeRoleWithSAMLCommand\";\nexport * from \"./AssumeRoleWithWebIdentityCommand\";\nexport * from \"./DecodeAuthorizationMessageCommand\";\nexport * from \"./GetAccessKeyInfoCommand\";\nexport * from \"./GetCallerIdentityCommand\";\nexport * from \"./GetFederationTokenCommand\";\nexport * from \"./GetSessionTokenCommand\";\n","export * from \"./models_0\";\n","import { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nconst resolveRegion = async (_region, _parentRegion, credentialProviderLogger) => {\n const region = typeof _region === \"function\" ? await _region() : _region;\n const parentRegion = typeof _parentRegion === \"function\" ? await _parentRegion() : _parentRegion;\n credentialProviderLogger?.debug?.(\"@aws-sdk/client-sts::resolveRegion\", \"accepting first of:\", `${region} (provider)`, `${parentRegion} (parent client)`, `${ASSUME_ROLE_DEFAULT_REGION} (STS default)`);\n return region ?? parentRegion ?? ASSUME_ROLE_DEFAULT_REGION;\n};\nexport const getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {\n let stsClient;\n let closureSourceCreds;\n return async (sourceCreds, params) => {\n closureSourceCreds = sourceCreds;\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger);\n stsClient = new stsClientCtor({\n credentialDefaultProvider: () => async () => closureSourceCreds,\n region: resolvedRegion,\n requestHandler: requestHandler,\n logger: logger,\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n credentialScope: Credentials.CredentialScope,\n };\n };\n};\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => {\n let stsClient;\n return async (params) => {\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger);\n stsClient = new stsClientCtor({\n region: resolvedRegion,\n requestHandler: requestHandler,\n logger: logger,\n });\n }\n const { Credentials } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);\n }\n return {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n credentialScope: Credentials.CredentialScope,\n };\n };\n};\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input, input.stsClientCtor),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input, input.stsClientCtor),\n ...input,\n});\n","import { getDefaultRoleAssumer as StsGetDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity as StsGetDefaultRoleAssumerWithWebIdentity, } from \"./defaultStsRoleAssumers\";\nimport { STSClient } from \"./STSClient\";\nconst getCustomizableStsClientCtor = (baseCtor, customizations) => {\n if (!customizations)\n return baseCtor;\n else\n return class CustomizableSTSClient extends baseCtor {\n constructor(config) {\n super(config);\n for (const customization of customizations) {\n this.middlewareStack.use(customization);\n }\n }\n };\n};\nexport const getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input),\n ...input,\n});\n","export * from \"./STSClient\";\nexport * from \"./STS\";\nexport * from \"./commands\";\nexport * from \"./models\";\nexport * from \"./defaultRoleAssumers\";\nexport { STSServiceException } from \"./models/STSServiceException\";\n","import { getDefaultRoleAssumer } from \"@aws-sdk/client-sts\";\nexport { getDefaultRoleAssumer };\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName } from \"@smithy/shared-ini-file-loader\";\nimport { resolveCredentialSource } from \"./resolveCredentialSource\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const isAssumeRoleProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg));\nconst isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\nconst isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\nexport const resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini\", \"resolveAssumeRoleCredentials (STS)\");\n const data = profiles[profileName];\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import(\"./loadSts\");\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: options?.parentClientConfig,\n }, options.clientPlugins);\n }\n const { source_profile } = data;\n if (source_profile && source_profile in visitedProfiles) {\n throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), false);\n }\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, {\n ...visitedProfiles,\n [source_profile]: true,\n })\n : (await resolveCredentialSource(data.credential_source, profileName)(options))();\n const params = {\n RoleArn: data.role_arn,\n RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: data.external_id,\n DurationSeconds: parseInt(data.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = data;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false);\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params);\n};\n","export const getValidatedProcessCredentials = (profileName, data) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n return {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n ...(data.CredentialScope && { credentialScope: data.CredentialScope }),\n };\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\nimport { getValidatedProcessCredentials } from \"./getValidatedProcessCredentials\";\nexport const resolveProcessCredentials = async (profileName, profiles) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = promisify(exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return getValidatedProcessCredentials(profileName, data);\n }\n catch (error) {\n throw new CredentialsProviderError(error.message);\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`);\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`);\n }\n};\n","import { getProfileName, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { resolveProcessCredentials } from \"./resolveProcessCredentials\";\nexport const fromProcess = (init = {}) => async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-process\", \"fromProcess\");\n const profiles = await parseKnownFiles(init);\n return resolveProcessCredentials(getProfileName(init), profiles);\n};\n","export * from \"./fromProcess\";\n","export const isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nexport const resolveProcessCredentials = async (options, profile) => import(\"@aws-sdk/credential-provider-process\").then(({ fromProcess }) => fromProcess({\n ...options,\n profile,\n})());\n","export const resolveSsoCredentials = async (profile, options = {}) => {\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO({\n profile,\n logger: options.logger,\n })();\n};\nexport const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","export const isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1;\nexport const resolveStaticCredentials = (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini\", \"resolveStaticCredentials\");\n return Promise.resolve({\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n credentialScope: profile.aws_credential_scope,\n });\n};\n","import { getDefaultRoleAssumerWithWebIdentity } from \"@aws-sdk/client-sts\";\nexport { getDefaultRoleAssumerWithWebIdentity };\n","export const fromWebToken = (init) => async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity\", \"fromWebToken\");\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;\n let { roleAssumerWithWebIdentity } = init;\n if (!roleAssumerWithWebIdentity) {\n const { getDefaultRoleAssumerWithWebIdentity } = await import(\"./loadSts\");\n roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({\n ...init.clientConfig,\n credentialProviderLogger: init.logger,\n parentClientConfig: init.parentClientConfig,\n }, init.clientPlugins);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { readFileSync } from \"fs\";\nimport { fromWebToken } from \"./fromWebToken\";\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nexport const fromTokenFile = (init = {}) => async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity\", \"fromTokenFile\");\n const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];\n const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];\n const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new CredentialsProviderError(\"Web identity configuration not specified\");\n }\n return fromWebToken({\n ...init,\n webIdentityToken: readFileSync(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })();\n};\n","export * from \"./fromTokenFile\";\nexport * from \"./fromWebToken\";\n","export const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options) => import(\"@aws-sdk/credential-provider-web-identity\").then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})());\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { isAssumeRoleProfile, resolveAssumeRoleCredentials } from \"./resolveAssumeRoleCredentials\";\nimport { isProcessProfile, resolveProcessCredentials } from \"./resolveProcessCredentials\";\nimport { isSsoProfile, resolveSsoCredentials } from \"./resolveSsoCredentials\";\nimport { isStaticCredsProfile, resolveStaticCredentials } from \"./resolveStaticCredentials\";\nimport { isWebIdentityProfile, resolveWebIdentityCredentials } from \"./resolveWebIdentityCredentials\";\nexport const resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleProfile(data)) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, options);\n }\n throw new CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);\n};\n","import { getProfileName, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const fromIni = (init = {}) => async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-ini\", \"fromIni\");\n const profiles = await parseKnownFiles(init);\n return resolveProfileData(getProfileName(init), profiles, init);\n};\n","export * from \"./fromIni\";\n","import { fromEnv } from \"@aws-sdk/credential-provider-env\";\nimport { chain, CredentialsProviderError, memoize } from \"@smithy/property-provider\";\nimport { ENV_PROFILE } from \"@smithy/shared-ini-file-loader\";\nimport { remoteProvider } from \"./remoteProvider\";\nexport const defaultProvider = (init = {}) => memoize(chain(...(init.profile || process.env[ENV_PROFILE]\n ? []\n : [\n async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::fromEnv\");\n return fromEnv(init)();\n },\n ]), async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n throw new CredentialsProviderError(\"Skipping SSO provider in default chain (inputs do not include SSO fields).\");\n }\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO(init)();\n}, async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::fromIni\");\n const { fromIni } = await import(\"@aws-sdk/credential-provider-ini\");\n return fromIni(init)();\n}, async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::fromProcess\");\n const { fromProcess } = await import(\"@aws-sdk/credential-provider-process\");\n return fromProcess(init)();\n}, async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::fromTokenFile\");\n const { fromTokenFile } = await import(\"@aws-sdk/credential-provider-web-identity\");\n return fromTokenFile(init)();\n}, async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node\", \"defaultProvider::remoteProvider\");\n return (await remoteProvider(init))();\n}, async () => {\n throw new CredentialsProviderError(\"Could not load credentials from any providers\", false);\n}), credentialsTreatedAsExpired, credentialsWillNeedRefresh);\nexport const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;\nexport const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;\n","export * from \"./defaultProvider\";\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexport const toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\n","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport const fromUtf8 = (input) => typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\nexport const toUtf8 = (input) => typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@aws-sdk/util-utf8-browser\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array<number>): Uint32Array {\n if (!Uint32Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n a_index += 1\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData, Checksum } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\n\nexport class AwsCrc32 implements Checksum {\n private crc32 = new Crc32();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise<Uint8Array> {\n return numToUint8(this.crc32.digest());\n }\n\n reset(): void {\n this.crc32 = new Crc32();\n }\n}\n","import {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32(data: Uint8Array): number {\n return new Crc32().update(data).digest();\n}\n\nexport class Crc32 {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)\nexport { AwsCrc32 } from \"./aws_crc32\";\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","// populates missing values\nmodule.exports = function(dst, src) {\n\n Object.keys(src).forEach(function(prop)\n {\n dst[prop] = dst[prop] || src[prop];\n });\n\n return dst;\n};\n","var CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar populate = require('./populate.js');\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {};\n for (var option in options) {\n this[option] = options[option];\n }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (util.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n\n if (value.hasOwnProperty('fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (value.hasOwnProperty('httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (value.hasOwnProperty('httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n if (!headers.hasOwnProperty(prop)) continue;\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var filename\n , contentDisposition\n ;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || value.name || value.path) {\n // custom filename take precedence\n // formidable and the browser add a name property\n // fs- and request- streams have path property\n filename = path.basename(options.filename || value.name || value.path);\n } else if (value.readable && value.hasOwnProperty('httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + filename + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (userHeaders.hasOwnProperty(header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n var dataBuffer = new Buffer.alloc( 0 );\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n\n // Add content to the buffer.\n if(Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n }else {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\n","'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL());\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n /* istanbul ignore else */\n if (request === self._currentRequest) {\n // Report any write errors\n /* istanbul ignore if */\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n /* istanbul ignore else */\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n /* istanbul ignore else */\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n /* istanbul ignore next */\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n Error.captureStackTrace(this, this.constructor);\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","import {\n ClaudeModel,\n GPTModel,\n OpenAIPayload,\n OpenAIMessage,\n OpenAIConfig,\n AnthropicAIPayload,\n AnthropicAIMessage,\n GenericMessage,\n AnthropicAIConfig,\n GenericPayload,\n GroqPayload,\n GroqModel,\n ParsedResponseMessage,\n FunctionCall,\n AnthropicContentBlock,\n OpenAIContentBlock,\n GoogleAIPayload,\n GeminiModel,\n GoogleAIPart,\n} from \"./interfaces\";\nimport {\n BedrockRuntimeClient,\n InvokeModelCommand,\n} from \"@aws-sdk/client-bedrock-runtime\";\nimport axios from \"axios\";\nimport { isHeicImage, timeout } from \"./utils\";\nconst { GoogleGenerativeAI } = require(\"@google/generative-ai\");\n\nconst sharp = require(\"sharp\");\nconst decode = require(\"heic-decode\");\n\nexport {\n ClaudeModel,\n GPTModel,\n GroqModel,\n GeminiModel,\n OpenAIConfig,\n FunctionDefinition,\n GenericMessage,\n GenericPayload,\n} from \"./interfaces\";\n\nfunction parseStreamedResponse(\n identifier: string,\n paragraph: string,\n functionCallName: string,\n functionCallArgs: string,\n allowedFunctionNames: Set<string> | null\n): ParsedResponseMessage {\n let functionCall: ParsedResponseMessage[\"function_call\"] = null;\n if (functionCallName && functionCallArgs) {\n if (allowedFunctionNames && !allowedFunctionNames.has(functionCallName)) {\n throw new Error(\n \"Stream error: received function call with unknown name: \" +\n functionCallName\n );\n }\n\n try {\n functionCall = {\n name: functionCallName,\n arguments: JSON.parse(functionCallArgs),\n };\n } catch (error) {\n console.error(\"Error parsing functionCallArgs:\", functionCallArgs);\n throw error;\n }\n }\n\n if (!paragraph && !functionCall) {\n console.error(\n identifier,\n \"Stream error: received message without content or function_call, raw:\",\n JSON.stringify({ paragraph, functionCallName, functionCallArgs })\n );\n throw new Error(\n \"Stream error: received message without content or function_call\"\n );\n }\n\n return {\n role: \"assistant\",\n content: paragraph || null,\n function_call: functionCall,\n };\n}\n\nasync function callOpenAiWithRetries(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig?: OpenAIConfig,\n retries: number = 5,\n chunkTimeoutMs: number = 15_000\n): Promise<ParsedResponseMessage> {\n console.log(\n identifier,\n \"Calling OpenAI API with retries:\",\n openAiConfig?.service,\n openAiPayload.model\n );\n\n let errorObj: any;\n for (let i = 0; i <= retries; i++) {\n try {\n const timerId = `timer:${identifier}:${Date.now()}:callOpenAi:${\n openAiConfig?.service\n }-${openAiPayload.model}-${openAiConfig?.orgId}`;\n\n if (\n openAiPayload.model === GPTModel.O1_MINI ||\n openAiPayload.model === GPTModel.O1_PREVIEW\n ) {\n return await callOpenAI(identifier, openAiPayload, openAiConfig);\n } else {\n return await callOpenAIStream(\n identifier,\n openAiPayload,\n openAiConfig,\n chunkTimeoutMs\n );\n }\n } catch (error: any) {\n console.error(error);\n console.error(\n identifier,\n `Retrying due to error: received bad response from OpenAI API [${\n openAiConfig?.service\n }-${openAiPayload.model}-${openAiConfig?.orgId}]: ${\n error.message\n } - ${JSON.stringify(error.response?.data)}`\n );\n\n const errorCode = error.data?.code;\n\n if (errorCode) {\n console.error(\n identifier,\n `Retry #${i} failed with API error: ${errorCode}`,\n JSON.stringify({\n data: error.data,\n })\n );\n }\n\n openAiPayload.temperature = 0.8; // Higher temperature\n\n // Usually due to image content, we get a policy violation error\n if (errorCode === \"content_policy_violation\") {\n console.log(\n identifier,\n `Removing images due to content policy violation error`\n );\n openAiPayload.messages.forEach((message: OpenAIMessage) => {\n if (Array.isArray(message.content)) {\n message.content = message.content.filter(\n (content) => content.type === \"text\"\n );\n }\n });\n }\n\n // on 2nd or more retries\n // if Azure content policy error is persistent\n if (\n i >= 2 &&\n openAiConfig?.service === \"azure\" &&\n errorCode === \"content_filter\"\n ) {\n console.log(\n identifier,\n `Switching to OpenAI service due to content filter error`\n );\n openAiConfig.service = \"openai\"; // Move to OpenAI, failed due to Azure content policy\n }\n\n // on 3rd retry\n if (i === 3) {\n if (openAiConfig?.service === \"azure\") {\n console.log(\n identifier,\n `Switching to OpenAI service due to Azure service error`\n );\n openAiConfig.service = \"openai\";\n }\n }\n\n // on 4th retry\n if (i === 4) {\n // abort function calling, e.g. stubborn `python` function call case\n if (openAiPayload.tools) {\n console.log(\n identifier,\n `Switching to no tool choice due to persistent error`\n );\n openAiPayload.tool_choice = \"none\";\n }\n }\n\n await timeout(250);\n }\n }\n\n console.error(\n identifier,\n `Failed to call OpenAI API after ${retries} attempts. Please lookup OpenAI status for active issues.`,\n errorObj\n );\n throw new Error(\n `${identifier}: Failed to call OpenAI API after ${retries} attempts. Please lookup OpenAI status for active issues.`\n );\n}\n\nasync function callOpenAIStream(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig: OpenAIConfig | undefined,\n chunkTimeoutMs: number\n): Promise<ParsedResponseMessage> {\n const functionNames: Set<string> | null = openAiPayload.tools\n ? new Set(openAiPayload.tools.map((fn) => fn.function.name as string))\n : null;\n\n if (!openAiConfig) {\n openAiConfig = {\n service: \"openai\",\n apiKey: process.env.OPENAI_API_KEY as string,\n baseUrl: \"\",\n };\n }\n\n let response;\n const controller = new AbortController();\n if (openAiConfig.service === \"azure\") {\n console.log(identifier, \"Using Azure OpenAI service\", openAiPayload.model);\n const model = openAiPayload.model;\n\n if (!openAiConfig.modelConfigMap) {\n throw new Error(\n \"OpenAI config modelConfigMap is required when using Azure OpenAI service.\"\n );\n }\n\n const azureConfig = openAiConfig.modelConfigMap[model];\n let endpoint;\n if (azureConfig.endpoint) {\n endpoint = `${azureConfig.endpoint}/openai/deployments/${azureConfig.deployment}/chat/completions?api-version=${azureConfig.apiVersion}`;\n } else {\n throw new Error(\"Azure OpenAI endpoint is required in modelConfigMap.\");\n }\n console.log(identifier, \"Using endpoint\", endpoint);\n\n try {\n const stringifiedPayload = JSON.stringify({\n ...openAiPayload,\n stream: true,\n });\n const parsedPayload = JSON.parse(stringifiedPayload);\n } catch (error) {\n console.error(\n identifier,\n \"Stream error: Azure OpenAI JSON parsing error:\",\n JSON.stringify(error)\n );\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"api-key\": azureConfig.apiKey,\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: true,\n }),\n signal: controller.signal,\n });\n } else {\n // openai by default\n console.log(identifier, \"Using OpenAI service\", openAiPayload.model);\n const endpoint = `https://api.openai.com/v1/chat/completions`;\n if (openAiConfig.orgId) {\n console.log(identifier, \"Using orgId\", openAiConfig.orgId);\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${openAiConfig.apiKey}`,\n ...(openAiConfig.orgId\n ? { \"OpenAI-Organization\": openAiConfig.orgId }\n : {}),\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: true,\n }),\n signal: controller.signal,\n });\n }\n\n if (response.body) {\n let rawStreamedBody = \"\";\n let paragraph = \"\";\n let functionCallName = \"\";\n let functionCallArgs = \"\";\n\n const reader = response.body.getReader();\n\n let partialChunk = \"\";\n let abortTimeout: NodeJS.Timeout | null = null;\n const startAbortTimeout = () => {\n abortTimeout && clearTimeout(abortTimeout);\n return setTimeout(() => {\n console.log(\n identifier,\n `Stream error: aborted due to timeout after ${chunkTimeoutMs} ms.`,\n JSON.stringify({ paragraph })\n );\n controller.abort();\n }, chunkTimeoutMs);\n };\n\n let chunkIndex = -1;\n while (true) {\n chunkIndex++;\n const abortTimeout = startAbortTimeout();\n const { done, value } = await reader.read();\n clearTimeout(abortTimeout);\n\n if (done) {\n console.log(\n identifier,\n `Stream error: ended after ${\n chunkIndex + 1\n } chunks via reader done flag.`,\n rawStreamedBody\n );\n throw new Error(\"Stream error: ended prematurely\");\n }\n\n let chunk = new TextDecoder().decode(value);\n rawStreamedBody += chunk + \"\\n\";\n if (partialChunk) {\n chunk = partialChunk + chunk;\n partialChunk = \"\";\n }\n let jsonStrings = chunk.split(/^data: /gm);\n\n for (let jsonString of jsonStrings) {\n if (!jsonString) {\n continue;\n }\n\n if (jsonString.includes(\"[DONE]\")) {\n console.log(\n identifier,\n `Stream explicitly marked as done after ${chunkIndex + 1} chunks.`\n );\n try {\n return parseStreamedResponse(\n identifier,\n paragraph,\n functionCallName,\n functionCallArgs,\n functionNames\n );\n } catch (error) {\n console.error(\n identifier,\n \"Stream error: parsing response:\",\n rawStreamedBody\n );\n throw error;\n }\n }\n\n let json;\n try {\n json = JSON.parse(jsonString.trim());\n } catch (error: any) {\n partialChunk = jsonString; // We're assuming any JSON parsing error means we got a non-terminated JSON for a chunk\n continue;\n }\n\n if (!json.choices || !json.choices.length) {\n if (json.error) {\n console.error(\n identifier,\n \"Stream error: OpenAI error:\",\n json.error && JSON.stringify(json.error)\n );\n const error = new Error(\"Stream error: OpenAI error\") as any;\n error.data = json.error;\n error.requestBody = truncatePayload(openAiPayload);\n throw error;\n }\n if (chunkIndex !== 0)\n console.error(\n identifier,\n \"Stream error: no choices in JSON:\",\n json\n ); // bad if it's not the first chunk\n continue;\n }\n\n const dToolCall:\n | {\n index?: number;\n function?: {\n name?: string;\n arguments?: string;\n };\n }\n | undefined = json.choices?.[0]?.delta?.tool_calls?.[0];\n if (dToolCall) {\n const toolCallIndex = dToolCall.index || 0;\n // TODO: handle multiple function calls in response\n if (toolCallIndex === 0) {\n const dFn = dToolCall.function || {};\n if (dFn.name) functionCallName += dFn.name;\n if (dFn.arguments) functionCallArgs += dFn.arguments;\n }\n }\n\n const text = json.choices?.[0]?.delta?.content;\n if (text) {\n paragraph += text;\n }\n }\n }\n } else {\n throw new Error(\"Stream error: no response body\");\n }\n}\n\nasync function callOpenAI(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig: OpenAIConfig | undefined\n): Promise<ParsedResponseMessage> {\n const functionNames: Set<string> | null = openAiPayload.tools\n ? new Set(openAiPayload.tools.map((fn) => fn.function.name as string))\n : null;\n\n if (!openAiConfig) {\n openAiConfig = {\n service: \"openai\",\n apiKey: process.env.OPENAI_API_KEY as string,\n baseUrl: \"\",\n };\n }\n\n let response;\n if (openAiConfig.service === \"azure\") {\n console.log(identifier, \"Using Azure OpenAI service\", openAiPayload.model);\n const model = openAiPayload.model;\n\n if (!openAiConfig.modelConfigMap) {\n throw new Error(\n \"OpenAI config modelConfigMap is required when using Azure OpenAI service.\"\n );\n }\n\n const azureConfig = openAiConfig.modelConfigMap[model];\n let endpoint;\n if (azureConfig.endpoint) {\n endpoint = `${azureConfig.endpoint}/openai/deployments/${azureConfig.deployment}/chat/completions?api-version=${azureConfig.apiVersion}`;\n } else {\n throw new Error(\"Azure OpenAI endpoint is required in modelConfigMap.\");\n }\n console.log(identifier, \"Using endpoint\", endpoint);\n\n try {\n const stringifiedPayload = JSON.stringify({\n ...openAiPayload,\n stream: false,\n });\n const parsedPayload = JSON.parse(stringifiedPayload);\n // You can use parsedPayload if needed\n } catch (error) {\n console.error(\n identifier,\n \"OpenAI JSON parsing error:\",\n JSON.stringify(error)\n );\n throw error;\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"api-key\": azureConfig.apiKey,\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: false,\n }),\n });\n } else {\n // openai by default\n console.log(identifier, \"Using OpenAI service\", openAiPayload.model);\n const endpoint = `https://api.openai.com/v1/chat/completions`;\n if (openAiConfig.orgId) {\n console.log(identifier, \"Using orgId\", openAiConfig.orgId);\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${openAiConfig.apiKey}`,\n ...(openAiConfig.orgId\n ? { \"OpenAI-Organization\": openAiConfig.orgId }\n : {}),\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: false,\n }),\n });\n }\n\n if (!response.ok) {\n const errorData = await response.json();\n console.error(identifier, \"OpenAI API error:\", JSON.stringify(errorData));\n throw new Error(`OpenAI API Error: ${errorData.error.message}`);\n }\n\n const data = await response.json();\n\n if (!data.choices || !data.choices.length) {\n if (data.error) {\n console.error(identifier, \"OpenAI error:\", JSON.stringify(data.error));\n throw new Error(\"OpenAI error: \" + data.error.message);\n }\n throw new Error(\"OpenAI error: No choices returned.\");\n }\n\n const choice = data.choices[0];\n const functionCall = choice.function_call\n ? {\n name: choice.function_call.name,\n arguments: JSON.parse(choice.function_call.arguments),\n }\n : null;\n\n return {\n role: \"assistant\",\n content: choice.message.content || null,\n function_call: functionCall,\n };\n}\n\nfunction truncatePayload(payload: OpenAIPayload): string {\n return JSON.stringify(\n {\n ...payload,\n messages: payload.messages.map((message) => {\n if (typeof message.content === \"string\") {\n message.content = message.content.slice(0, 100);\n } else if (Array.isArray(message.content)) {\n message.content = message.content.map((block) => {\n if (block.type === \"image_url\") {\n block.image_url.url = block.image_url.url.slice(0, 100);\n }\n return block;\n });\n }\n\n return message;\n }),\n },\n null,\n 2\n );\n}\n\nasync function callAnthropicWithRetries(\n identifier: string,\n AiPayload: AnthropicAIPayload,\n AiConfig?: AnthropicAIConfig,\n attempts = 5\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Anthropic API with retries\");\n let lastResponse;\n for (let i = 0; i < attempts; i++) {\n // if last attempt\n if (i === attempts - 1) {\n AiPayload.model = ClaudeModel.SONNET; // fallback to sonnet model\n }\n\n try {\n // return await callAnthropic(identifier, AiPayload);\n lastResponse = await callAnthropic(identifier, AiPayload, AiConfig);\n return lastResponse;\n } catch (e: any) {\n console.error(e);\n console.error(\n identifier,\n `Retrying due to error: received bad response from Anthropic API: ${e.message}`,\n JSON.stringify(e.response?.data)\n );\n\n if (e.response?.data?.error?.type === \"rate_limit_error\") {\n // upgrade to Sonnet\n AiPayload.model = ClaudeModel.SONNET;\n }\n\n await timeout(125 * i);\n }\n }\n const error = new Error(\n `Failed to call Anthropic API after ${attempts} attempts`\n ) as any;\n error.response = lastResponse;\n throw error;\n}\n\nasync function callAnthropic(\n identifier: string,\n AiPayload: AnthropicAIPayload,\n AiConfig?: AnthropicAIConfig\n): Promise<ParsedResponseMessage> {\n const anthropicMessages = jigAnthropicMessages(AiPayload.messages);\n\n let data;\n let response;\n if (AiConfig?.service === \"bedrock\") {\n // DOES NOT SUPPORT TOOLS YET\n const AWS_REGION = \"us-east-1\";\n const MODEL_ID = \"anthropic.claude-3-haiku-20240307-v1:0\";\n\n // set in environment\n // process.env.AWS_ACCESS_KEY_ID = AWS_ACCESS_KEY_ID;\n // process.env.AWS_SECRET_ACCESS_KEY = AWS_SECRET_ACCESS_KEY;\n\n const client = new BedrockRuntimeClient({ region: AWS_REGION });\n const payload = {\n anthropic_version: \"bedrock-2023-05-31\",\n max_tokens: 4096,\n messages: anthropicMessages,\n tools: AiPayload.functions?.map((f) => ({\n ...f,\n input_schema: f.parameters,\n parameters: undefined,\n })),\n };\n\n const response = await client.send(\n new InvokeModelCommand({\n contentType: \"application/json\",\n body: JSON.stringify(payload),\n modelId: MODEL_ID,\n })\n );\n\n const decodedResponseBody = new TextDecoder().decode(response.body);\n data = JSON.parse(decodedResponseBody);\n } else {\n // default to anthropic\n const response = await axios.post(\n \"https://api.anthropic.com/v1/messages\",\n {\n model: AiPayload.model,\n messages: anthropicMessages,\n tools: AiPayload.functions?.map((f) => ({\n ...f,\n input_schema: f.parameters,\n parameters: undefined,\n })),\n temperature: AiPayload.temperature,\n system: AiPayload.system,\n max_tokens: 4096,\n },\n {\n headers: {\n \"content-type\": \"application/json\",\n \"x-api-key\": process.env.ANTHROPIC_API_KEY as string,\n \"anthropic-version\": \"2023-06-01\",\n \"anthropic-beta\": \"tools-2024-04-04\",\n },\n timeout: 60000,\n }\n );\n\n data = response.data;\n }\n\n const answers = data.content;\n\n if (!answers[0]) {\n console.error(identifier, \"Missing answer in Anthropic API:\", data);\n throw new Error(\"Missing answer in Anthropic API\");\n }\n\n let textResponse = \"\";\n let functionCalls: any[] = [];\n for (const answer of answers) {\n if (!answer.type) {\n console.error(identifier, \"Missing answer type in Anthropic API:\", data);\n throw new Error(\"Missing answer type in Anthropic API\");\n }\n\n let text = \"\";\n if (answer.type === \"text\") {\n text = answer.text\n .replace(/<thinking>.*?<\\/thinking>/gs, \"\")\n .replace(/<answer>|<\\/answer>/gs, \"\")\n .trim();\n\n if (!text) {\n // remove the tags and return the text within\n text = answer.text.replace(\n /<thinking>|<\\/thinking>|<answer>|<\\/answer>/gs,\n \"\"\n );\n console.log(\"No text in answer, returning text within tags:\", text);\n }\n\n if (textResponse) {\n textResponse += `\\n\\n${text}`;\n } else {\n textResponse = text;\n }\n } else if (answer.type === \"tool_use\") {\n const call = {\n name: answer.name,\n arguments: answer.input,\n };\n functionCalls.push(call);\n }\n }\n\n if (!textResponse && !functionCalls.length) {\n console.error(\n identifier,\n \"Missing text & fns in Anthropic API response:\",\n JSON.stringify(data)\n );\n throw new Error(\"Missing text & fns in Anthropic API response\");\n }\n\n return {\n role: \"assistant\",\n content: textResponse,\n function_call: functionCalls[0],\n };\n}\n\nfunction jigAnthropicMessages(\n messages: AnthropicAIMessage[]\n): AnthropicAIMessage[] {\n // Takes a list if messages each with a role and content\n // Assumes no system messages are present\n\n let jiggedMessages = messages.slice();\n\n // If the first message is not user, add an empty user message at the start\n if (jiggedMessages[0]?.role !== \"user\") {\n jiggedMessages = [\n {\n role: \"user\" as const,\n content: \"...\",\n },\n ...jiggedMessages,\n ];\n }\n\n // Group consecutive messages with the same role, combining their content\n jiggedMessages = jiggedMessages.reduce((acc, message) => {\n if (acc.length === 0) {\n return [message];\n }\n\n const lastMessage = acc[acc.length - 1];\n if (lastMessage.role === message.role) {\n // Combine content of messages with the same role\n const lastContent = Array.isArray(lastMessage.content)\n ? lastMessage.content\n : [{ type: \"text\" as const, text: lastMessage.content }];\n const newContent = Array.isArray(message.content)\n ? message.content\n : [{ type: \"text\" as const, text: message.content }];\n\n lastMessage.content = [\n ...lastContent,\n { type: \"text\", text: \"\\n\\n---\\n\\n\" },\n ...newContent,\n ];\n return acc;\n }\n\n // Convert string content to text content block\n if (typeof message.content === \"string\") {\n message.content = [{ type: \"text\", text: message.content }];\n }\n\n return [...acc, message];\n }, [] as AnthropicAIMessage[]);\n\n // If last message in array is assistant, then add an empty user message\n if (jiggedMessages[jiggedMessages.length - 1]?.role === \"assistant\") {\n jiggedMessages.push({\n role: \"user\",\n content: \"...\",\n });\n }\n\n return jiggedMessages;\n}\n\nasync function prepareGoogleAIPayload(\n payload: GenericPayload\n): Promise<GoogleAIPayload> {\n const preparedPayload: GoogleAIPayload = {\n model: payload.model as GeminiModel,\n messages: [],\n tools: payload.functions\n ? {\n functionDeclarations: payload.functions.map((fn) => ({\n name: fn.name,\n parameters: {\n // Google puts their description in the parameters object rather than in a top-level field\n description: fn.description,\n ...fn.parameters,\n },\n })),\n }\n : undefined,\n };\n\n for (const message of payload.messages) {\n if (message.role === \"system\") {\n preparedPayload.systemInstruction = message.content;\n continue;\n }\n\n const googleAIContentParts: GoogleAIPart[] = [];\n\n if (message.content) {\n googleAIContentParts.push({\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (!file.mimeType?.startsWith(\"image\")) {\n console.warn(\n \"Google AI API does not support non-image file types. Skipping file.\"\n );\n continue;\n }\n\n if (file.url) {\n googleAIContentParts.push({\n inlineData: {\n mimeType: \"image/png\",\n data: await getNormalizedBase64PNG(file.url, file.mimeType),\n },\n });\n } else if (file.data) {\n if (\n ![\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"].includes(\n file.mimeType\n )\n ) {\n throw new Error(\n \"Invalid image mimeType. Supported types are: image/png, image/jpeg, image/gif, image/webp\"\n );\n }\n googleAIContentParts.push({\n inlineData: {\n mimeType: file.mimeType,\n data: file.data,\n },\n });\n }\n }\n\n preparedPayload.messages.push({\n role: message.role === \"assistant\" ? \"model\" : message.role,\n parts: googleAIContentParts,\n });\n }\n\n return preparedPayload;\n}\n\nasync function callGoogleAI(\n identifier: string,\n payload: GoogleAIPayload\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Google AI API\");\n\n const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);\n const model = genAI.getGenerativeModel({\n model: payload.model,\n tools: payload.tools,\n systemInstruction: payload.systemInstruction,\n });\n\n const history = payload.messages.slice(0, -1);\n const lastMessage = payload.messages.slice(-1)[0];\n const chat = model.startChat({\n history,\n });\n\n const result = await chat.sendMessage(lastMessage.parts);\n const response = await result.response;\n\n const text: string | undefined = response.text();\n const functionCalls:\n | {\n name: string;\n args: Record<string, any>;\n }[]\n | undefined = response.functionCalls();\n\n const parsedFunctionCalls = functionCalls?.map((fc) => ({\n name: fc.name,\n arguments: fc.args,\n }));\n\n return {\n role: \"assistant\",\n content: text || null,\n function_call: parsedFunctionCalls?.[0] || null,\n };\n}\n\nexport async function callWithRetries(\n identifier: string,\n aiPayload: GenericPayload,\n aiConfig?: OpenAIConfig | AnthropicAIConfig,\n retries: number = 5,\n chunkTimeoutMs: number = 15_000\n): Promise<ParsedResponseMessage> {\n // Determine which service to use based on the model type\n if (isAnthropicPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Anthropic API\");\n\n return await callAnthropicWithRetries(\n identifier,\n await prepareAnthropicPayload(aiPayload),\n aiConfig as AnthropicAIConfig,\n retries\n );\n } else if (isOpenAiPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to OpenAI API\");\n return await callOpenAiWithRetries(\n identifier,\n await prepareOpenAIPayload(aiPayload),\n aiConfig as OpenAIConfig,\n retries,\n chunkTimeoutMs\n );\n } else if (isGroqPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Groq API\");\n return await callGroqWithRetries(\n identifier,\n await prepareGroqPayload(aiPayload)\n );\n } else if (isGoogleAIPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Google AI API\");\n return await callGoogleAI(\n identifier,\n await prepareGoogleAIPayload(aiPayload)\n );\n } else {\n throw new Error(\"Invalid AI payload: Unknown model type.\");\n }\n}\n\nfunction isAnthropicPayload(payload: any): Boolean {\n return Object.values(ClaudeModel).includes(payload.model);\n}\n\nasync function prepareAnthropicPayload(\n payload: GenericPayload\n): Promise<AnthropicAIPayload> {\n const preparedPayload: AnthropicAIPayload = {\n model: payload.model as ClaudeModel,\n messages: [],\n functions: payload.functions,\n temperature: payload.temperature,\n };\n\n for (const message of payload.messages) {\n const anthropicContentBlocks: AnthropicContentBlock[] = [];\n\n if (message.role === \"system\") {\n preparedPayload.system = message.content;\n continue;\n }\n\n if (message.content) {\n anthropicContentBlocks.push({\n type: \"text\",\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (!file.mimeType?.startsWith(\"image\")) {\n console.warn(\n \"Anthropic API does not support non-image file types. Skipping file.\"\n );\n continue;\n }\n\n if (file.url) {\n anthropicContentBlocks.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: await getNormalizedBase64PNG(file.url, file.mimeType),\n },\n });\n } else if (file.data) {\n if (\n ![\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"].includes(\n file.mimeType\n )\n ) {\n throw new Error(\n \"Invalid image mimeType. Supported types are: image/png, image/jpeg, image/gif, image/webp\"\n );\n }\n anthropicContentBlocks.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: file.mimeType as any,\n data: file.data,\n },\n });\n }\n }\n\n preparedPayload.messages.push({\n role: message.role,\n content: anthropicContentBlocks,\n });\n }\n\n return preparedPayload;\n}\n\nfunction isOpenAiPayload(payload: any): Boolean {\n return Object.values(GPTModel).includes(payload.model);\n}\n\nasync function prepareOpenAIPayload(\n payload: GenericPayload\n): Promise<OpenAIPayload> {\n const preparedPayload: OpenAIPayload = {\n model: payload.model as GPTModel,\n temperature: payload.temperature,\n messages: [],\n tools: payload.functions?.map((fn) => ({\n type: \"function\",\n function: fn,\n })),\n tool_choice: payload.function_call\n ? typeof payload.function_call === \"string\"\n ? payload.function_call // \"none\" | \"auto\"\n : {\n type: \"function\",\n function: payload.function_call,\n }\n : undefined,\n };\n\n for (const message of payload.messages) {\n const openAIContentBlocks: OpenAIContentBlock[] = [];\n\n if (message.content) {\n openAIContentBlocks.push({\n type: \"text\",\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (file.mimeType?.startsWith(\"image\")) {\n if (file.url) {\n openAIContentBlocks.push({\n type: \"image_url\",\n image_url: {\n url: file.url,\n },\n });\n } else if (file.data) {\n openAIContentBlocks.push({\n type: \"image_url\",\n image_url: {\n url: `data:${file.mimeType};base64,${file.data}`,\n },\n });\n }\n // } else if (file.mimeType?.startsWith(\"audio\")) {\n // if (file.url) {\n // openAIContentBlocks.push({\n // type: \"audio_url\",\n // audio_url: {\n // url: file.url,\n // },\n // });\n // } else if (file.data) {\n // openAIContentBlocks.push({\n // type: \"audio_url\",\n // audio_url: {\n // url: `data:${file.mimeType};base64,${file.data}`,\n // },\n // });\n // }\n } else {\n console.warn(\n \"Skipping file. Type not supported by OpenAI API:\",\n file.mimeType\n );\n }\n }\n\n preparedPayload.messages.push({\n role: message.role,\n content: openAIContentBlocks,\n });\n }\n\n return preparedPayload;\n}\n\nfunction isGroqPayload(payload: any): Boolean {\n return Object.values(GroqModel).includes(payload.model);\n}\n\nfunction prepareGroqPayload(payload: GenericPayload): GroqPayload {\n return {\n model: payload.model as GroqModel,\n messages: payload.messages.map((message) => ({\n role: message.role,\n content: normalizeMessageContent(message.content),\n })),\n tools: payload.functions?.map((fn) => ({\n type: \"function\",\n function: fn,\n })),\n tool_choice: payload.function_call\n ? typeof payload.function_call === \"string\"\n ? payload.function_call // \"none\" | \"auto\"\n : {\n type: \"function\",\n function: payload.function_call,\n }\n : undefined,\n temperature: payload.temperature,\n };\n}\n\nfunction normalizeMessageContent(\n content: AnthropicAIMessage[\"content\"]\n): string {\n return Array.isArray(content)\n ? content\n .map((c) => (c.type === \"text\" ? c.text : `[${c.type}]`))\n .join(\"\\n\")\n : content;\n}\n\nfunction isGoogleAIPayload(payload: any): Boolean {\n return Object.values(GeminiModel).includes(payload.model);\n}\n\nasync function callGroq(\n identifier: string,\n payload: GroqPayload\n): Promise<ParsedResponseMessage> {\n const response = await axios.post(\n \"https://api.groq.com/openai/v1/chat/completions\",\n payload,\n {\n headers: {\n \"content-type\": \"application/json\",\n Authorization: `Bearer ${process.env.GROQ_API_KEY}`,\n },\n }\n );\n\n const data = response.data;\n\n const answer = data.choices[0].message;\n if (!answer) {\n console.error(identifier, \"Missing answer in Groq API:\", data);\n throw new Error(\"Missing answer in Groq API\");\n }\n\n const textResponse = answer.content || null;\n let functionCall: FunctionCall | null = null;\n if (answer.tool_calls && answer.tool_calls.length) {\n const toolCall = answer.tool_calls[0];\n functionCall = {\n name: toolCall.function.name,\n arguments: JSON.parse(toolCall.function.arguments),\n };\n }\n\n return {\n role: \"assistant\",\n content: textResponse,\n function_call: functionCall,\n };\n}\n\nasync function callGroqWithRetries(\n identifier: string,\n payload: GroqPayload,\n retries: number = 5\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Groq API with retries\");\n\n let lastResponse;\n for (let i = 0; i < retries; i++) {\n try {\n lastResponse = await callGroq(identifier, payload);\n return lastResponse;\n } catch (e: any) {\n console.error(e);\n console.error(\n identifier,\n `Retrying due to error: received bad response from Groq API: ${e.message}`,\n JSON.stringify(e.response?.data)\n );\n\n await timeout(125 * i);\n }\n }\n const error = new Error(\n `Failed to call Groq API after ${retries} attempts`\n ) as any;\n error.response = lastResponse;\n throw error;\n}\n\nasync function getNormalizedBase64PNG(\n url: string,\n mime: string\n): Promise<string> {\n console.log(\"Normalizing image\", url);\n const response = await axios.get(url, { responseType: \"arraybuffer\" });\n\n let imageBuffer = Buffer.from(response.data);\n let sharpOptions = {};\n if (isHeicImage(url, mime)) {\n const imageData = await decode({ buffer: imageBuffer });\n imageBuffer = Buffer.from(imageData.data);\n sharpOptions = {\n raw: {\n width: imageData.width,\n height: imageData.height,\n channels: 4,\n },\n };\n }\n\n // Limits size of image to < 5MB Anthropic limit\n const resizedBuffer = await sharp(imageBuffer, sharpOptions)\n .withMetadata()\n .resize(1024, 1024, { fit: \"inside\", withoutEnlargement: true })\n .png()\n .toBuffer();\n\n return resizedBuffer.toString(\"base64\");\n}\n\n// async function main() {\n// const payload: GenericPayload = {\n// model: GeminiModel.GEMINI_15_PRO,\n// messages: [\n// {\n// role: \"user\",\n// content: \"What is this logo?\",\n// files: [\n// {\n// mimeType: \"image/png\",\n// url: \"https://www.wikimedia.org/static/images/wmf-logo-2x.png\",\n// },\n// ],\n// },\n// ],\n// functions: [\n// {\n// name: \"answer_logo_question\",\n// description: \"Answer a question about a logo\",\n// parameters: {\n// type: \"object\",\n// properties: {\n// organization: {\n// type: \"string\",\n// },\n// },\n// },\n// },\n// ],\n// };\n\n// const answer = await callWithRetries(\"test\", payload);\n\n// console.log(answer);\n// }\n\n// main();\n","export enum ClaudeModel {\n HAIKU = \"claude-3-haiku-20240307\",\n SONNET = \"claude-3-sonnet-20240229\",\n OPUS = \"claude-3-opus-20240229\",\n SONNET_3_5 = \"claude-3-5-sonnet-20240620\",\n}\n\nexport enum GPTModel {\n GPT35_0613 = \"gpt-3.5-turbo-0613\",\n GPT35_0613_16K = \"gpt-3.5-turbo-16k-0613\",\n GPT35_0125 = \"gpt-3.5-turbo-0125\",\n GPT4_1106_PREVIEW = \"gpt-4-1106-preview\",\n GPT4_0125_PREVIEW = \"gpt-4-0125-preview\",\n GPT4_0409 = \"gpt-4-turbo-2024-04-09\",\n GPT4O = \"gpt-4o\",\n GPT4O_MINI = \"gpt-4o-mini\",\n O1_PREVIEW = \"o1-preview\",\n O1_MINI = \"o1-mini\",\n}\n\nexport enum GroqModel {\n LLAMA_3_70B_8192 = \"llama3-70b-8192\",\n}\n\nexport enum GeminiModel {\n GEMINI_15_PRO = \"gemini-1.5-pro-latest\",\n}\n\nexport interface GenericError {\n message: string;\n}\n\nexport enum ContentType {\n TEXT = \"text\",\n ATTACHMENT = \"attachment\",\n}\n\nexport type AIChainResponse = {\n content: string | null;\n contentType?: ContentType;\n functionCalls: FunctionCall[];\n};\n\nexport interface GenericMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string;\n timestamp?: string;\n files?: File[];\n functionCalls?: FunctionCall[];\n}\n\nexport interface File {\n mimeType: string;\n url?: string;\n data?: string;\n}\n\nexport interface OpenAIMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string | OpenAIContentBlock[];\n}\n\nexport type OpenAIContentBlock =\n | OpenAITextContentBlock\n | OpenAIImageContentBlock\n | OpenAIAudioContentBlock;\n\nexport interface OpenAITextContentBlock {\n type: \"text\";\n text: string;\n}\n\nexport interface OpenAIImageContentBlock {\n type: \"image_url\";\n image_url: {\n url: string; // URL to the image, can also be a base64 string\n };\n}\n\nexport interface OpenAIAudioContentBlock {\n type: \"audio_url\";\n audio_url: {\n url: string; // URL to the audio, can also be a base64 string\n };\n}\n\nexport interface AnthropicAIMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string | AnthropicContentBlock[];\n}\n\nexport type AnthropicContentBlock =\n | AnthropicTextContentBlock\n | AnthropicImageContentBlock;\n\nexport interface AnthropicTextContentBlock {\n type: \"text\";\n text: string;\n}\n\nexport interface AnthropicImageContentBlock {\n type: \"image\";\n source: {\n type: \"base64\";\n media_type: \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\";\n data: string; // Must be a base64 string\n };\n}\n\nexport interface OpenAIResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: {\n name: string;\n arguments: string; // unparsed arguments object\n } | null;\n}\n\nexport interface ParsedResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: FunctionCall | null;\n}\n\nexport interface FunctionCall {\n name: string;\n arguments: Record<string, any>;\n}\n\nexport interface OpenAIResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: {\n name: string;\n arguments: string; // unparsed arguments object\n } | null;\n}\n\nexport interface FunctionCall {\n name: string;\n arguments: Record<string, any>;\n}\n\nexport interface OpenAIConfig {\n service: \"azure\" | \"openai\";\n apiKey: string;\n baseUrl: string;\n orgId?: string;\n modelConfigMap?: Record<\n GPTModel,\n {\n resource: string;\n deployment: string;\n apiVersion: string;\n apiKey: string;\n endpoint?: string;\n }\n >;\n}\n\nexport interface AnthropicAIConfig {\n service: \"anthropic\" | \"bedrock\";\n}\n\nexport interface FunctionDefinition {\n name: string;\n description?: string;\n parameters: Record<string, any>;\n}\n\ninterface FunctionWrapped {\n type: \"function\";\n function: FunctionDefinition;\n}\n\nexport interface GroqPayload {\n model: GroqModel;\n messages: OpenAIMessage[];\n tools?: FunctionWrapped[];\n tool_choice?:\n | \"none\"\n | \"auto\"\n | { type: \"function\"; function: { name: string } };\n temperature?: number;\n\n functions?: any[]; // Deprecate this\n}\n\nexport interface OpenAIPayload {\n model: GPTModel;\n messages: OpenAIMessage[];\n tools?: FunctionWrapped[];\n tool_choice?:\n | \"none\"\n | \"auto\"\n | { type: \"function\"; function: { name: string } };\n temperature?: number;\n}\n\nexport interface AnthropicAIPayload {\n model: ClaudeModel;\n messages: AnthropicAIMessage[];\n functions?: any[]; // TODO type this JSON schema\n temperature?: number;\n system?: string;\n}\n\nexport interface GoogleAITextPart {\n text: string;\n}\n\nexport interface GoogleAIInlineDataPart {\n inlineData: {\n mimeType: string;\n data: string;\n };\n}\n\nexport type GoogleAIPart = GoogleAITextPart | GoogleAIInlineDataPart;\nexport interface GoogleAIMessage {\n role: \"user\" | \"model\";\n parts: GoogleAIPart[];\n}\nexport interface GoogleAIPayload {\n model: GeminiModel;\n messages: GoogleAIMessage[];\n tools?: {\n functionDeclarations: FunctionDefinition[];\n };\n systemInstruction?: string;\n}\n\nexport interface GenericPayload {\n model: GPTModel | ClaudeModel | GroqModel | GeminiModel;\n messages: GenericMessage[];\n functions?: FunctionDefinition[];\n function_call?: \"none\" | \"auto\" | { name: string };\n temperature?: number;\n}\n\nexport interface OpenAIBody {\n choices: {\n message: OpenAIResponseMessage;\n }[];\n error?: {\n code: string;\n };\n usage: {\n completion_tokens: number;\n prompt_tokens: number;\n total_tokens: number;\n };\n}\n","import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { resolveEventStreamSerdeConfig, } from \"@smithy/eventstream-serde-config-resolver\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultBedrockRuntimeHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class BedrockRuntimeClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveRegionConfig(_config_1);\n const _config_3 = resolveEndpointConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveUserAgentConfig(_config_5);\n const _config_7 = resolveEventStreamSerdeConfig(_config_6);\n const _config_8 = resolveHttpAuthSchemeConfig(_config_7);\n const _config_9 = resolveRuntimeExtensions(_config_8, configuration?.extensions || []);\n super(_config_9);\n this.config = _config_9;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),\n identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n getDefaultHttpAuthSchemeParametersProvider() {\n return defaultBedrockRuntimeHttpAuthSchemeParametersProvider;\n }\n getIdentityProviderConfigProvider() {\n return async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n });\n }\n}\n","export const resolveEventStreamSerdeConfig = (input) => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n","import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultBedrockRuntimeHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"bedrock\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nexport const defaultBedrockRuntimeHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n return {\n ...config_0,\n };\n};\n","export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"bedrock\",\n };\n};\nexport const commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n","{\n \"name\": \"@aws-sdk/client-bedrock-runtime\",\n \"description\": \"AWS SDK for JavaScript Bedrock Runtime Client for Node.js, Browser and React Native\",\n \"version\": \"3.564.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-bedrock-runtime\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"lerna run --scope $npm_package_name --include-dependencies build\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"rimraf ./dist-* && rimraf *.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo bedrock-runtime\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"3.0.0\",\n \"@aws-crypto/sha256-js\": \"3.0.0\",\n \"@aws-sdk/core\": \"3.556.0\",\n \"@aws-sdk/credential-provider-node\": \"3.564.0\",\n \"@aws-sdk/middleware-host-header\": \"3.535.0\",\n \"@aws-sdk/middleware-logger\": \"3.535.0\",\n \"@aws-sdk/middleware-recursion-detection\": \"3.535.0\",\n \"@aws-sdk/middleware-user-agent\": \"3.540.0\",\n \"@aws-sdk/region-config-resolver\": \"3.535.0\",\n \"@aws-sdk/types\": \"3.535.0\",\n \"@aws-sdk/util-endpoints\": \"3.540.0\",\n \"@aws-sdk/util-user-agent-browser\": \"3.535.0\",\n \"@aws-sdk/util-user-agent-node\": \"3.535.0\",\n \"@smithy/config-resolver\": \"^2.2.0\",\n \"@smithy/core\": \"^1.4.2\",\n \"@smithy/eventstream-serde-browser\": \"^2.2.0\",\n \"@smithy/eventstream-serde-config-resolver\": \"^2.2.0\",\n \"@smithy/eventstream-serde-node\": \"^2.2.0\",\n \"@smithy/fetch-http-handler\": \"^2.5.0\",\n \"@smithy/hash-node\": \"^2.2.0\",\n \"@smithy/invalid-dependency\": \"^2.2.0\",\n \"@smithy/middleware-content-length\": \"^2.2.0\",\n \"@smithy/middleware-endpoint\": \"^2.5.1\",\n \"@smithy/middleware-retry\": \"^2.3.1\",\n \"@smithy/middleware-serde\": \"^2.3.0\",\n \"@smithy/middleware-stack\": \"^2.2.0\",\n \"@smithy/node-config-provider\": \"^2.3.0\",\n \"@smithy/node-http-handler\": \"^2.5.0\",\n \"@smithy/protocol-http\": \"^3.3.0\",\n \"@smithy/smithy-client\": \"^2.5.1\",\n \"@smithy/types\": \"^2.12.0\",\n \"@smithy/url-parser\": \"^2.2.0\",\n \"@smithy/util-base64\": \"^2.3.0\",\n \"@smithy/util-body-length-browser\": \"^2.2.0\",\n \"@smithy/util-body-length-node\": \"^2.3.0\",\n \"@smithy/util-defaults-mode-browser\": \"^2.2.1\",\n \"@smithy/util-defaults-mode-node\": \"^2.3.1\",\n \"@smithy/util-endpoints\": \"^1.2.0\",\n \"@smithy/util-middleware\": \"^2.2.0\",\n \"@smithy/util-retry\": \"^2.2.0\",\n \"@smithy/util-stream\": \"^2.2.0\",\n \"@smithy/util-utf8\": \"^2.3.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@smithy/service-client-documentation-generator\": \"^2.2.0\",\n \"@tsconfig/node14\": \"1.0.3\",\n \"@types/node\": \"^14.14.31\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"rimraf\": \"3.0.2\",\n \"typescript\": \"~4.9.5\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-bedrock-runtime\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-bedrock-runtime\"\n }\n}\n","import packageInfo from \"../package.json\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion } from \"@aws-sdk/core\";\nimport { defaultProvider as credentialDefaultProvider } from \"@aws-sdk/credential-provider-node\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { eventStreamSerdeProvider } from \"@smithy/eventstream-serde-node\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { emitWarningIfUnsupportedVersion } from \"@smithy/smithy-client\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? credentialDefaultProvider,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),\n region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),\n };\n};\n","import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.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 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\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);\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;\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);\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 = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\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;\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;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","import { toHex } from \"@smithy/util-hex-encoding\";\nexport 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 fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\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 valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(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] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n","export class MessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n","export class MessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n","export class SmithyMessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n","export class SmithyMessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n","export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n","export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n","import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n","import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { Readable } from \"stream\";\nimport { readabletoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readabletoIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\n","export async function* readabletoIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n","import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n","import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultBedrockRuntimeHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2023-09-30\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultBedrockRuntimeHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"Bedrock Runtime\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n","import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","const s = \"required\", t = \"fn\", u = \"argv\", v = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = { [s]: false, \"type\": \"String\" }, i = { [s]: true, \"default\": false, \"type\": \"Boolean\" }, j = { [v]: \"Endpoint\" }, k = { [t]: c, [u]: [{ [v]: \"UseFIPS\" }, true] }, l = { [t]: c, [u]: [{ [v]: \"UseDualStack\" }, true] }, m = {}, n = { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsFIPS\"] }, o = { [t]: c, [u]: [true, { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsDualStack\"] }] }, p = [k], q = [l], r = [{ [v]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: h, UseDualStack: i, UseFIPS: i, Endpoint: h }, rules: [{ conditions: [{ [t]: b, [u]: [j] }], rules: [{ conditions: p, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { rules: [{ conditions: q, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: j, properties: m, headers: m }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [t]: b, [u]: r }], rules: [{ conditions: [{ [t]: \"aws.partition\", [u]: r, assign: g }], rules: [{ conditions: [k, l], rules: [{ conditions: [{ [t]: c, [u]: [a, n] }, o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: p, rules: [{ conditions: [{ [t]: c, [u]: [n, a] }], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: q, rules: [{ conditions: [o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { rules: [{ endpoint: { url: \"https://bedrock-runtime.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }], type: f }] };\nexport const ruleSet = _data;\n","import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n","export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { InvokeModelRequestFilterSensitiveLog, InvokeModelResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_InvokeModelCommand, se_InvokeModelCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class InvokeModelCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockFrontendService\", \"InvokeModel\", {})\n .n(\"BedrockRuntimeClient\", \"InvokeModelCommand\")\n .f(InvokeModelRequestFilterSensitiveLog, InvokeModelResponseFilterSensitiveLog)\n .ser(se_InvokeModelCommand)\n .de(de_InvokeModelCommand)\n .build() {\n}\n","import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { BedrockRuntimeServiceException as __BaseException } from \"./BedrockRuntimeServiceException\";\nexport class AccessDeniedException extends __BaseException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n }\n}\nexport class InternalServerException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n }\n}\nexport const Trace = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport class ModelErrorException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelErrorException.prototype);\n this.originalStatusCode = opts.originalStatusCode;\n this.resourceName = opts.resourceName;\n }\n}\nexport class ModelNotReadyException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelNotReadyException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelNotReadyException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelNotReadyException.prototype);\n }\n}\nexport class ModelTimeoutException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelTimeoutException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelTimeoutException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelTimeoutException.prototype);\n }\n}\nexport class ResourceNotFoundException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexport class ServiceQuotaExceededException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ServiceQuotaExceededException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ServiceQuotaExceededException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);\n }\n}\nexport class ThrottlingException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ThrottlingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ThrottlingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ThrottlingException.prototype);\n }\n}\nexport class ValidationException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ValidationException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ValidationException.prototype);\n }\n}\nexport class ModelStreamErrorException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelStreamErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelStreamErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelStreamErrorException.prototype);\n this.originalStatusCode = opts.originalStatusCode;\n this.originalMessage = opts.originalMessage;\n }\n}\nexport var ResponseStream;\n(function (ResponseStream) {\n ResponseStream.visit = (value, visitor) => {\n if (value.chunk !== undefined)\n return visitor.chunk(value.chunk);\n if (value.internalServerException !== undefined)\n return visitor.internalServerException(value.internalServerException);\n if (value.modelStreamErrorException !== undefined)\n return visitor.modelStreamErrorException(value.modelStreamErrorException);\n if (value.validationException !== undefined)\n return visitor.validationException(value.validationException);\n if (value.throttlingException !== undefined)\n return visitor.throttlingException(value.throttlingException);\n if (value.modelTimeoutException !== undefined)\n return visitor.modelTimeoutException(value.modelTimeoutException);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ResponseStream || (ResponseStream = {}));\nexport const InvokeModelRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const InvokeModelResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const InvokeModelWithResponseStreamRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const PayloadPartFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.bytes && { bytes: SENSITIVE_STRING }),\n});\nexport const ResponseStreamFilterSensitiveLog = (obj) => {\n if (obj.chunk !== undefined)\n return { chunk: SENSITIVE_STRING };\n if (obj.internalServerException !== undefined)\n return { internalServerException: obj.internalServerException };\n if (obj.modelStreamErrorException !== undefined)\n return { modelStreamErrorException: obj.modelStreamErrorException };\n if (obj.validationException !== undefined)\n return { validationException: obj.validationException };\n if (obj.throttlingException !== undefined)\n return { throttlingException: obj.throttlingException };\n if (obj.modelTimeoutException !== undefined)\n return { modelTimeoutException: obj.modelTimeoutException };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const InvokeModelWithResponseStreamResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: \"STREAMING_CONTENT\" }),\n});\n","import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class BedrockRuntimeServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, BedrockRuntimeServiceException.prototype);\n }\n}\n","import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from \"@aws-sdk/core\";\nimport { requestBuilder as rb } from \"@smithy/core\";\nimport { collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectString as __expectString, map, take, withBaseException, } from \"@smithy/smithy-client\";\nimport { BedrockRuntimeServiceException as __BaseException } from \"../models/BedrockRuntimeServiceException\";\nimport { AccessDeniedException, InternalServerException, ModelErrorException, ModelNotReadyException, ModelStreamErrorException, ModelTimeoutException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, ValidationException, } from \"../models/models_0\";\nexport const se_InvokeModelCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_ct]: input[_cT] || \"application/octet-stream\",\n [_a]: input[_a],\n [_xabt]: input[_t],\n [_xabg]: input[_gI],\n [_xabg_]: input[_gV],\n });\n b.bp(\"/model/{modelId}/invoke\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n if (input.body !== undefined) {\n body = input.body;\n }\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_InvokeModelWithResponseStreamCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_ct]: input[_cT] || \"application/octet-stream\",\n [_xaba]: input[_a],\n [_xabt]: input[_t],\n [_xabg]: input[_gI],\n [_xabg_]: input[_gV],\n });\n b.bp(\"/model/{modelId}/invoke-with-response-stream\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n if (input.body !== undefined) {\n body = input.body;\n }\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const de_InvokeModelCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n [_cT]: [, output.headers[_ct]],\n });\n const data = await collectBody(output.body, context);\n contents.body = data;\n return contents;\n};\nexport const de_InvokeModelWithResponseStreamCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n [_cT]: [, output.headers[_xabct]],\n });\n const data = output.body;\n contents.body = de_ResponseStream(data, context);\n return contents;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.bedrockruntime#AccessDeniedException\":\n throw await de_AccessDeniedExceptionRes(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.bedrockruntime#InternalServerException\":\n throw await de_InternalServerExceptionRes(parsedOutput, context);\n case \"ModelErrorException\":\n case \"com.amazonaws.bedrockruntime#ModelErrorException\":\n throw await de_ModelErrorExceptionRes(parsedOutput, context);\n case \"ModelNotReadyException\":\n case \"com.amazonaws.bedrockruntime#ModelNotReadyException\":\n throw await de_ModelNotReadyExceptionRes(parsedOutput, context);\n case \"ModelTimeoutException\":\n case \"com.amazonaws.bedrockruntime#ModelTimeoutException\":\n throw await de_ModelTimeoutExceptionRes(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.bedrockruntime#ResourceNotFoundException\":\n throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);\n case \"ServiceQuotaExceededException\":\n case \"com.amazonaws.bedrockruntime#ServiceQuotaExceededException\":\n throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context);\n case \"ThrottlingException\":\n case \"com.amazonaws.bedrockruntime#ThrottlingException\":\n throw await de_ThrottlingExceptionRes(parsedOutput, context);\n case \"ValidationException\":\n case \"com.amazonaws.bedrockruntime#ValidationException\":\n throw await de_ValidationExceptionRes(parsedOutput, context);\n case \"ModelStreamErrorException\":\n case \"com.amazonaws.bedrockruntime#ModelStreamErrorException\":\n throw await de_ModelStreamErrorExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody,\n errorCode,\n });\n }\n};\nconst throwDefaultError = withBaseException(__BaseException);\nconst de_AccessDeniedExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InternalServerExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelErrorExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n originalStatusCode: __expectInt32,\n resourceName: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelNotReadyExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelNotReadyException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelStreamErrorExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n originalMessage: __expectString,\n originalStatusCode: __expectInt32,\n });\n Object.assign(contents, doc);\n const exception = new ModelStreamErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelTimeoutExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelTimeoutException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ServiceQuotaExceededException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ThrottlingExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ThrottlingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ValidationExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ValidationException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ResponseStream = (output, context) => {\n return context.eventStreamMarshaller.deserialize(output, async (event) => {\n if (event[\"chunk\"] != null) {\n return {\n chunk: await de_PayloadPart_event(event[\"chunk\"], context),\n };\n }\n if (event[\"internalServerException\"] != null) {\n return {\n internalServerException: await de_InternalServerException_event(event[\"internalServerException\"], context),\n };\n }\n if (event[\"modelStreamErrorException\"] != null) {\n return {\n modelStreamErrorException: await de_ModelStreamErrorException_event(event[\"modelStreamErrorException\"], context),\n };\n }\n if (event[\"validationException\"] != null) {\n return {\n validationException: await de_ValidationException_event(event[\"validationException\"], context),\n };\n }\n if (event[\"throttlingException\"] != null) {\n return {\n throttlingException: await de_ThrottlingException_event(event[\"throttlingException\"], context),\n };\n }\n if (event[\"modelTimeoutException\"] != null) {\n return {\n modelTimeoutException: await de_ModelTimeoutException_event(event[\"modelTimeoutException\"], context),\n };\n }\n return { $unknown: output };\n });\n};\nconst de_InternalServerException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_InternalServerExceptionRes(parsedOutput, context);\n};\nconst de_ModelStreamErrorException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ModelStreamErrorExceptionRes(parsedOutput, context);\n};\nconst de_ModelTimeoutException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ModelTimeoutExceptionRes(parsedOutput, context);\n};\nconst de_PayloadPart_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, de_PayloadPart(data, context));\n return contents;\n};\nconst de_ThrottlingException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ThrottlingExceptionRes(parsedOutput, context);\n};\nconst de_ValidationException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ValidationExceptionRes(parsedOutput, context);\n};\nconst de_PayloadPart = (output, context) => {\n return take(output, {\n bytes: context.base64Decoder,\n });\n};\nconst deserializeMetadata = (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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst _a = \"accept\";\nconst _cT = \"contentType\";\nconst _ct = \"content-type\";\nconst _gI = \"guardrailIdentifier\";\nconst _gV = \"guardrailVersion\";\nconst _t = \"trace\";\nconst _xaba = \"x-amzn-bedrock-accept\";\nconst _xabct = \"x-amzn-bedrock-content-type\";\nconst _xabg = \"x-amzn-bedrock-guardrailidentifier\";\nconst _xabg_ = \"x-amzn-bedrock-guardrailversion\";\nconst _xabt = \"x-amzn-bedrock-trace\";\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\n\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport {getProxyForUrl} from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n // temporary internal emitter until the AxiosRequest class will be implemented\n const emitter = new EventEmitter();\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n emitter.removeAllListeners();\n }\n\n onDone((value, isRejected) => {\n isDone = true;\n if (isRejected) {\n rejected = true;\n onFinished();\n }\n });\n\n function abort(reason) {\n emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n }\n\n emitter.once('abort', reject);\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url);\n const parsed = new URL(fullPath, 'http://localhost');\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const onDownloadProgress = config.onDownloadProgress;\n const onUploadProgress = config.onUploadProgress;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n length: contentLength,\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', progress => {\n onUploadProgress(Object.assign(progress, {\n upload: true\n }));\n });\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {}\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = +res.headers['content-length'];\n\n if (onDownloadProgress) {\n const transformStream = new AxiosTransformStream({\n length: utils.toFiniteNumber(responseLength),\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', progress => {\n onDownloadProgress(Object.assign(progress, {\n download: true\n }));\n });\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const offListeners = stream.finished(responseStream, () => {\n offListeners();\n onFinished();\n });\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n emitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n emitter.once('abort', err => {\n reject(err);\n req.destroy(err);\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n abort();\n });\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n req.end(data);\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","export const VERSION = \"1.6.8\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\nimport throttle from './throttle.js';\nimport speedometer from './speedometer.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const self = this;\n\n const internals = this[kInternals] = {\n length: options.length,\n timeWindow: options.timeWindow,\n ticksRate: options.ticksRate,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow);\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n\n let bytesNotified = 0;\n\n internals.updateProgress = throttle(function throttledHandler() {\n const totalBytes = internals.length;\n const bytesTransferred = internals.bytesSeen;\n const progressBytes = bytesTransferred - bytesNotified;\n if (!progressBytes || self.destroyed) return;\n\n const rate = _speedometer(progressBytes);\n\n bytesNotified = bytesTransferred;\n\n process.nextTick(() => {\n self.emit('progress', {\n 'loaded': bytesTransferred,\n 'total': totalBytes,\n 'progress': totalBytes ? (bytesTransferred / totalBytes) : undefined,\n 'bytes': progressBytes,\n 'rate': rate ? rate : undefined,\n 'estimated': rate && totalBytes && bytesTransferred <= totalBytes ?\n (totalBytes - bytesTransferred) / rate : undefined\n });\n });\n }, internals.ticksRate);\n\n const onFinish = () => {\n internals.updateProgress(true);\n };\n\n this.once('end', onFinish);\n this.once('error', onFinish);\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const self = this;\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n function pushChunk(_chunk, _callback) {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n if (internals.isCaptured) {\n internals.updateProgress();\n }\n\n if (self.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n\n setLength(length) {\n this[kInternals].length = +length;\n return this;\n }\n}\n\nexport default AxiosTransformStream;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled(force, args) {\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, args);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, args);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import {TextEncoder} from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\n\nconst BOUNDARY_ALPHABET = utils.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = new TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + utils.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","export function timeout(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function isHeicImage(name: string, mime?: string): boolean {\n const extension = name.split(\".\").pop()?.toLowerCase() || \"\";\n return (\n [\"heic\", \"heif\", \"heics\"].includes(extension) ||\n !!(\n mime && [\"image/heic\", \"image/heif\", \"image/heic-sequence\"].includes(mime)\n )\n );\n}\n"],"mappings":"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","names":["HttpAuthLocation","HttpApiKeyAuthLocation","init_auth","EndpointURLScheme","init_checksum","AlgorithmId","init_checksum","init_extensions","init_checksum","FieldPosition","init_identity","IniSectionType","RequestHandlerProtocol","init_auth","init_extensions","init_identity","request","init_dist_es","init_dist_es","request","_a","logger","init_dist_es","init_dist_es","request","init_EndpointRuleObject","init_ErrorRuleObject","init_RuleSetObject","init_TreeRuleObject","init_shared","init_types","init_EndpointRuleObject","init_ErrorRuleObject","init_RuleSetObject","init_TreeRuleObject","init_shared","init_types","init_types","hostname","protocol","url","k","v","c","init_types","init_types","_a","_a","init_types","init_types","init_types","_a","url","init_types","init_types","init_types","_a","logger","v","k","e","init_dist_es","init_types","init_isIpAddress","init_dist_es","init_dist_es","init_isIpAddress","partition","partition","init_dist_es","init_resolveEndpoint","init_dist_es","init_EndpointError","init_dist_es","init_EndpointRuleObject","init_ErrorRuleObject","init_RuleSetObject","init_TreeRuleObject","init_shared","init_types","init_EndpointError","init_EndpointRuleObject","init_ErrorRuleObject","init_RuleSetObject","init_TreeRuleObject","init_shared","init_dist_es","init_isIpAddress","init_resolveEndpoint","init_types","init_dist_es","_a","request","defaultUserAgent","init_dist_es","init_types","SelectorType","init_dist_es","init_types","init_dist_es","env","init_dist_es","env","init_dist_es","init_dist_es","init_dist_es","init_config","env","init_config","init_dist_es","map","init_dist_es","_a","partition","_a","init_dist_es","init_dist_es","e","import_path","fsPromises","import_path","import_path","map","import_fs","readFile","fsPromises","swallowError","_a","init_types","init_dist_es","init_types","init_dist_es","e","fromStatic","init_fromStatic","init_dist_es","init_dist_es","init_fromStatic","fromStatic","init_dist_es","init_dist_es","env","w","endpointUrl","init_dist_es","init_dist_es","init_dist_es","url","init_dist_es","_a","init_dist_es","_a","_a","request","init_dist_es","init_dist_es","init_dist_es","_a","init_types","init_dist_es","init_types","init_dist_es","init_dist_es","init_dist_es","init_config","RETRY_MODES","init_constants","init_dist_es","init_constants","_a","init_dist_es","_a","t","init_constants","init_constants","init_constants","init_config","init_constants","_a","init_config","init_constants","init_types","init_dist_es","init_config","init_constants","init_types","crypto","import_crypto","i","import_crypto","crypto","i","init_dist_es","init_dist_es","init_dist_es","init_util","init_StandardRetryStrategy","init_dist_es","init_util","init_AdaptiveRetryStrategy","init_dist_es","init_StandardRetryStrategy","init_configurations","init_dist_es","env","_a","init_dist_es","a","b","_a","entry","init_dist_es","init_client","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","init_dist_es","c","init_dist_es","i","init_dist_es","NODEJS_TIMEOUT_ERROR_CODES","init_constants","request","request","request","httpRequest","request","_a","init_dist_es","init_constants","_a","hAgent","hsAgent","request","hsRequest","hRequest","NODEJS_TIMEOUT_ERROR_CODES","init_dist_es","import_stream","stream","init_dist_es","import_stream","import_util","init_dist_es","stream","_a","init_dist_es","init_dist_es","init_command","init_dist_es","logger","request","_","init_constants","commands","Client","command","s","_","v","k","_a","getChecksumConfiguration","resolveChecksumRuntimeConfig","init_checksum","init_retry","init_defaultExtensionConfiguration","init_checksum","init_retry","getChecksumConfiguration","resolveChecksumRuntimeConfig","init_extensions","init_defaultExtensionConfiguration","c","filter","_","resolvedPath","_","init_dist_es","init_client","init_command","init_constants","init_extensions","import_stream","request","init_dist_es","init_util","_a","request","e","init_dist_es","init_AdaptiveRetryStrategy","init_StandardRetryStrategy","init_configurations","init_dist_es","httpRequest","init_getSmithyContext","normalizeProvider","init_normalizeProvider","init_dist_es","_a","init_dist_es","init_getSmithyContext","init_normalizeProvider","request","init_dist_es","warningEmitted","emitWarningIfUnsupportedVersion","init_emitWarningIfUnsupportedVersion","init_client","init_emitWarningIfUnsupportedVersion","init_dist_es","_a","init_utils","init_dist_es","init_utils","_a","httpRequest","i","init_dist_es","init_constants","init_dist_es","init_constants","init_constants","init_dist_es","init_constants","value","serialized","init_dist_es","init_constants","i","init_dist_es","HEADER_VALUE_TYPE","cloneQuery","request","_a","init_constants","request","init_dist_es","init_constants","request","init_dist_es","init_dist_es","normalizeProvider","init_httpAuthSchemes","init_dist_es","init_dist_es","e","_a","findKey","k","exports","v","a","i","exports","util","i","t","exports","val","exports","module","val","exports","module","util","i","entityName","val","exports","module","exports","module","util","i","val","result","entityName","exports","i","val","exports","module","XMLParser","exports","module","i","attStr","exports","module","a","val","j","i","exports","module","XMLParser","init_dist_es","_","val","e","_a","init_dist_es","init_client","init_httpAuthSchemes","fromEnv","init_fromEnv","init_dist_es","_a","fromEnv","init_dist_es","init_fromEnv","_a","import_buffer","import_http","init_httpRequest","init_dist_es","timeout","init_retry","i","init_dist_es","init_httpRequest","init_retry","timeout","init_dist_es","Endpoint","env","EndpointMode","env","init_dist_es","logger","_a","logger","e","init_dist_es","init_httpRequest","init_retry","logger","timeout","getCredentials","maxRetries","_a","env","profile","init_types","dist_es_exports","init_dist_es","init_types","init_httpRequest","init_dist_es","url","url","k","v","_a","stream","e","init_dist_es","i","e","init_dist_es","_a","url","request","fs","e","dist_es_exports","init_dist_es","init_dist_es","_a","ENV_CMDS_FULL_URI","ENV_CMDS_RELATIVE_URI","fromContainerMetadata","fromInstanceMetadata","fromHttp","init_constants","createAwsAuthSigv4HttpAuthOption","resolveHttpAuthSchemeConfig","init_dist_es","resolveClientEndpointParameters","commonParams","_a","package_default","defaultProvider","import_os","init_dist_es","env","import_buffer","import_crypto","init_dist_es","import_fs","init_dist_es","init_dist_es","init_dist_es","_a","ENV_IMDS_DISABLED","init_constants","env","init_dist_es","init_constants","_a","ENV_IMDS_DISABLED","getInstanceMetadataEndpoint","httpRequest","e","init_dist_es","getRuntimeConfig","init_dist_es","_a","emitWarningIfUnsupportedVersion","package_default","init_extensions","init_config","init_isFipsRegion","init_getRealRegion","init_isFipsRegion","init_resolveRegionConfig","init_getRealRegion","init_isFipsRegion","init_regionConfig","init_config","init_resolveRegionConfig","init_dist_es","init_extensions","init_regionConfig","init_dist_es","t","init_dist_es","getRuntimeConfig","resolveClientEndpointParameters","resolveHttpAuthSchemeConfig","init_dist_es","init_dist_es","throwDefaultError","deserializeMetadata","init_dist_es","b","_","_a","init_dist_es","commonParams","Command","o","init_dist_es","commonParams","Command","o","init_dist_es","commonParams","Command","o","init_dist_es","commonParams","Command","o","init_dist_es","init_dist_es","init_dist_es","SSOOIDCClient","CreateTokenCommand","init_dist_es","init_constants","init_dist_es","init_constants","import_fs","init_dist_es","fsPromises","init_dist_es","init_constants","_a","e","init_fromStatic","init_dist_es","init_dist_es","init_dist_es","init_fromStatic","createAwsAuthSigv4HttpAuthOption","createSmithyApiNoAuthHttpAuthOption","resolveHttpAuthSchemeConfig","init_httpAuthSchemeProvider","init_dist_es","resolveClientEndpointParameters","commonParams","init_EndpointParameters","_a","package_default","init_package","u","v","w","x","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","_data","ruleSet","init_ruleset","defaultEndpointResolver","init_endpointResolver","init_dist_es","init_ruleset","ruleSet","getRuntimeConfig","init_runtimeConfig_shared","init_dist_es","init_httpAuthSchemeProvider","init_endpointResolver","_a","defaultEndpointResolver","getRuntimeConfig","init_runtimeConfig","init_package","init_dist_es","init_runtimeConfig_shared","_a","emitWarningIfUnsupportedVersion","package_default","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","init_httpAuthExtensionConfiguration","asPartial","resolveRuntimeExtensions","init_runtimeExtensions","init_dist_es","init_httpAuthExtensionConfiguration","t","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","init_dist_es","init_httpAuthSchemeProvider","init_EndpointParameters","init_runtimeConfig","init_runtimeExtensions","getRuntimeConfig","resolveClientEndpointParameters","resolveHttpAuthSchemeConfig","resolveRuntimeExtensions","init_dist_es","InvalidRequestException","init_models_0","init_dist_es","de_CommandError","throwDefaultError","de_InvalidRequestExceptionRes","deserializeMetadata","_ai","init_Aws_restJson1","init_dist_es","init_models_0","b","InvalidRequestException","_a","init_dist_es","init_EndpointParameters","init_models_0","init_Aws_restJson1","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","init_Aws_restJson1","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","init_Aws_restJson1","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","init_Aws_restJson1","commonParams","Command","o","commands","init_dist_es","init_commands","init_dist_es","init_dist_es","init_pagination","init_models","init_models_0","init_dist_es","init_commands","init_pagination","init_models","init_dist_es","init_dist_es","_a","e","SSOClient","GetRoleCredentialsCommand","init_dist_es","init_dist_es","_a","init_types","dist_es_exports","init_dist_es","init_types","init_dist_es","fromContainerMetadata","fromInstanceMetadata","fromEnv","createAwsAuthSigv4HttpAuthOption","createSmithyApiNoAuthHttpAuthOption","resolveHttpAuthSchemeConfig","init_httpAuthSchemeProvider","init_dist_es","resolveClientEndpointParameters","commonParams","init_EndpointParameters","_a","package_default","init_package","defaultProvider","init_credentialDefaultProvider","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","_data","ruleSet","init_ruleset","defaultEndpointResolver","init_endpointResolver","init_dist_es","init_ruleset","ruleSet","getRuntimeConfig","init_runtimeConfig_shared","init_dist_es","init_httpAuthSchemeProvider","init_endpointResolver","_a","defaultEndpointResolver","getRuntimeConfig","init_runtimeConfig","init_package","init_credentialDefaultProvider","init_dist_es","init_runtimeConfig_shared","_a","emitWarningIfUnsupportedVersion","defaultProvider","package_default","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","init_httpAuthExtensionConfiguration","asPartial","resolveRuntimeExtensions","init_runtimeExtensions","init_dist_es","init_httpAuthExtensionConfiguration","t","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","init_dist_es","init_httpAuthSchemeProvider","init_EndpointParameters","init_runtimeConfig","init_runtimeExtensions","getRuntimeConfig","resolveClientEndpointParameters","resolveHttpAuthSchemeConfig","resolveRuntimeExtensions","init_dist_es","ExpiredTokenException","init_models_0","init_dist_es","de_CommandError","de_ExpiredTokenExceptionRes","deserializeMetadata","throwDefaultError","init_dist_es","init_models_0","ExpiredTokenException","_a","init_dist_es","init_EndpointParameters","init_models_0","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","commonParams","Command","o","init_dist_es","init_EndpointParameters","commonParams","Command","o","init_dist_es","init_EndpointParameters","commonParams","Command","o","init_dist_es","init_EndpointParameters","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","commonParams","Command","o","init_dist_es","init_EndpointParameters","init_models_0","commonParams","Command","o","commands","init_dist_es","init_commands","init_models","init_models_0","_a","logger","getDefaultRoleAssumer","getDefaultRoleAssumerWithWebIdentity","init_dist_es","init_commands","init_models","getDefaultRoleAssumer","init_dist_es","init_dist_es","_a","getDefaultRoleAssumer","import_util","init_dist_es","e","init_dist_es","_a","dist_es_exports","init_dist_es","resolveProcessCredentials","init_resolveProcessCredentials","fromProcess","isSsoProfile","fromSSO","_a","loadSts_exports","getDefaultRoleAssumerWithWebIdentity","init_loadSts","init_dist_es","_a","getDefaultRoleAssumerWithWebIdentity","import_fs","init_dist_es","_a","dist_es_exports","init_dist_es","fromTokenFile","init_dist_es","init_resolveProcessCredentials","resolveProcessCredentials","isSsoProfile","init_dist_es","_a","dist_es_exports","init_dist_es","defaultProvider","init_dist_es","_a","fromEnv","fromSSO","fromIni","fromProcess","fromTokenFile","dist_es_exports","defaultProvider","init_dist_es","d","b","s","e","t","p","i","c","r","_","f","y","g","n","v","o","m","k","k2","exports","a","j","q","settle","__assign","fromUtf8","toUtf8","i","fromUtf8","toUtf8","dist_es_exports","fromUtf8","toUtf8","init_dist_es","fromUtf8","exports","exports","exports","exports","exports","AwsCrc32","exports","Crc32","exports","exports","module","util","r","exports","module","util","stream","self","exports","module","exports","module","exports","charset","extension","i","exports","module","exports","module","exports","module","exports","module","exports","module","a","b","exports","module","exports","module","exports","module","a","b","exports","module","exports","module","exports","module","exports","module","util","http","https","parseUrl","fs","FormData","append","i","request","defaults","exports","parseUrl","DEFAULT_PORTS","s","getProxyForUrl","url","exports","module","s","m","h","d","w","y","val","parse","n","exports","module","env","i","self","val","extend","v","exports","module","c","r","v","exports","module","util","_","k","val","useColors","c","i","v","exports","module","exports","module","exports","module","url","URL","http","https","Writable","noop","self","isString","isBuffer","isFunction","a","b","request","i","parseUrl","get","spread","ClaudeModel","GPTModel","GroqModel","GeminiModel","init_dist_es","init_dist_es","init_dist_es","_a","init_dist_es","import_crc32","init_dist_es","init_dist_es","Int64","i","negate","toUtf8","fromUtf8","Int64","UUID_PATTERN","HEADER_VALUE_TYPE","toUtf8","fromUtf8","toUtf8","import_stream","EventStreamMarshaller","EventStreamMarshaller","init_dist_es","init_dist_es","init_dist_es","s","t","u","v","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","_data","ruleSet","defaultEndpointResolver","ruleSet","getRuntimeConfig","_a","defaultEndpointResolver","init_dist_es","getRuntimeConfig","_a","emitWarningIfUnsupportedVersion","defaultProvider","init_dist_es","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","asPartial","t","resolveRuntimeExtensions","getHttpAuthExtensionConfiguration","resolveHttpAuthRuntimeConfig","getRuntimeConfig","resolveRuntimeExtensions","init_dist_es","init_dist_es","init_dist_es","AccessDeniedException","InternalServerException","ResourceNotFoundException","ResponseStream","init_dist_es","b","isSerializableHeaderValue","_a","de_CommandError","deserializeMetadata","de_CommandError","de_AccessDeniedExceptionRes","de_InternalServerExceptionRes","de_ResourceNotFoundExceptionRes","throwDefaultError","AccessDeniedException","deserializeMetadata","InternalServerException","ResourceNotFoundException","deserializeMetadata","_a","isSerializableHeaderValue","_a","Command","o","val","isFunction","isArrayBuffer","prototype","i","l","a","b","descriptors","filter","m","p2","hasOwnProperty","request","filter","FormData","i","prototype","toString","encode","val","url","h","import_url","url","i","e","isFormData","isFileList","transitional","val","i","filter","w","self","i","prototype","request","validateStatus","url","import_http","import_https","import_util","url","import_stream","import_stream","i","stream","self","import_util","import_stream","import_stream","stream","zlib","followRedirects","stream","util","e","https","http","timeout","transitional","url","e","request","transitional","val","e","i","s","a","b","merge","i","validators","transitional","i","chain","url","i","request","c","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","all","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","mergeConfig","_a","_a","i","abortTimeout","e","f","response","c","url"]}
|
|
1
|
+
{"version":3,"sources":["../index.ts","../interfaces.ts","../utils.ts"],"sourcesContent":["import {\n ClaudeModel,\n GPTModel,\n OpenAIPayload,\n OpenAIMessage,\n OpenAIConfig,\n AnthropicAIPayload,\n AnthropicAIMessage,\n GenericMessage,\n AnthropicAIConfig,\n GenericPayload,\n GroqPayload,\n GroqModel,\n ParsedResponseMessage,\n FunctionCall,\n AnthropicContentBlock,\n OpenAIContentBlock,\n GoogleAIPayload,\n GeminiModel,\n GoogleAIPart,\n} from \"./interfaces\";\nimport {\n BedrockRuntimeClient,\n InvokeModelCommand,\n} from \"@aws-sdk/client-bedrock-runtime\";\nimport axios from \"axios\";\nimport { isHeicImage, timeout } from \"./utils\";\nconst { GoogleGenerativeAI } = require(\"@google/generative-ai\");\n\nconst sharp = require(\"sharp\");\nconst decode = require(\"heic-decode\");\n\nexport {\n ClaudeModel,\n GPTModel,\n GroqModel,\n GeminiModel,\n OpenAIConfig,\n FunctionDefinition,\n GenericMessage,\n GenericPayload,\n} from \"./interfaces\";\n\nfunction parseStreamedResponse(\n identifier: string,\n paragraph: string,\n functionCallName: string,\n functionCallArgs: string,\n allowedFunctionNames: Set<string> | null\n): ParsedResponseMessage {\n let functionCall: ParsedResponseMessage[\"function_call\"] = null;\n if (functionCallName && functionCallArgs) {\n if (allowedFunctionNames && !allowedFunctionNames.has(functionCallName)) {\n throw new Error(\n \"Stream error: received function call with unknown name: \" +\n functionCallName\n );\n }\n\n try {\n functionCall = {\n name: functionCallName,\n arguments: JSON.parse(functionCallArgs),\n };\n } catch (error) {\n console.error(\"Error parsing functionCallArgs:\", functionCallArgs);\n throw error;\n }\n }\n\n if (!paragraph && !functionCall) {\n console.error(\n identifier,\n \"Stream error: received message without content or function_call, raw:\",\n JSON.stringify({ paragraph, functionCallName, functionCallArgs })\n );\n throw new Error(\n \"Stream error: received message without content or function_call\"\n );\n }\n\n return {\n role: \"assistant\",\n content: paragraph || null,\n function_call: functionCall,\n };\n}\n\nasync function callOpenAiWithRetries(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig?: OpenAIConfig,\n retries: number = 5,\n chunkTimeoutMs: number = 15_000\n): Promise<ParsedResponseMessage> {\n console.log(\n identifier,\n \"Calling OpenAI API with retries:\",\n openAiConfig?.service,\n openAiPayload.model\n );\n\n let errorObj: any;\n for (let i = 0; i <= retries; i++) {\n try {\n const timerId = `timer:${identifier}:${Date.now()}:callOpenAi:${\n openAiConfig?.service\n }-${openAiPayload.model}-${openAiConfig?.orgId}`;\n\n if (\n openAiPayload.model === GPTModel.O1_MINI ||\n openAiPayload.model === GPTModel.O1_PREVIEW\n ) {\n return await callOpenAI(identifier, openAiPayload, openAiConfig);\n } else {\n return await callOpenAIStream(\n identifier,\n openAiPayload,\n openAiConfig,\n chunkTimeoutMs\n );\n }\n } catch (error: any) {\n console.error(error);\n console.error(\n identifier,\n `Retrying due to error: received bad response from OpenAI API [${\n openAiConfig?.service\n }-${openAiPayload.model}-${openAiConfig?.orgId}]: ${\n error.message\n } - ${JSON.stringify(error.response?.data)}`\n );\n\n const errorCode = error.data?.code;\n\n if (errorCode) {\n console.error(\n identifier,\n `Retry #${i} failed with API error: ${errorCode}`,\n JSON.stringify({\n data: error.data,\n })\n );\n }\n\n openAiPayload.temperature = 0.8; // Higher temperature\n\n // Usually due to image content, we get a policy violation error\n if (errorCode === \"content_policy_violation\") {\n console.log(\n identifier,\n `Removing images due to content policy violation error`\n );\n openAiPayload.messages.forEach((message: OpenAIMessage) => {\n if (Array.isArray(message.content)) {\n message.content = message.content.filter(\n (content) => content.type === \"text\"\n );\n }\n });\n }\n\n // on 2nd or more retries\n // if Azure content policy error is persistent\n if (\n i >= 2 &&\n openAiConfig?.service === \"azure\" &&\n errorCode === \"content_filter\"\n ) {\n console.log(\n identifier,\n `Switching to OpenAI service due to content filter error`\n );\n openAiConfig.service = \"openai\"; // Move to OpenAI, failed due to Azure content policy\n }\n\n // on 3rd retry\n if (i === 3) {\n if (openAiConfig?.service === \"azure\") {\n console.log(\n identifier,\n `Switching to OpenAI service due to Azure service error`\n );\n openAiConfig.service = \"openai\";\n }\n }\n\n // on 4th retry\n if (i === 4) {\n // abort function calling, e.g. stubborn `python` function call case\n if (openAiPayload.tools) {\n console.log(\n identifier,\n `Switching to no tool choice due to persistent error`\n );\n openAiPayload.tool_choice = \"none\";\n }\n }\n\n await timeout(250);\n }\n }\n\n console.error(\n identifier,\n `Failed to call OpenAI API after ${retries} attempts. Please lookup OpenAI status for active issues.`,\n errorObj\n );\n throw new Error(\n `${identifier}: Failed to call OpenAI API after ${retries} attempts. Please lookup OpenAI status for active issues.`\n );\n}\n\nasync function callOpenAIStream(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig: OpenAIConfig | undefined,\n chunkTimeoutMs: number\n): Promise<ParsedResponseMessage> {\n const functionNames: Set<string> | null = openAiPayload.tools\n ? new Set(openAiPayload.tools.map((fn) => fn.function.name as string))\n : null;\n\n if (!openAiConfig) {\n openAiConfig = {\n service: \"openai\",\n apiKey: process.env.OPENAI_API_KEY as string,\n baseUrl: \"\",\n };\n }\n\n let response;\n const controller = new AbortController();\n if (openAiConfig.service === \"azure\") {\n console.log(identifier, \"Using Azure OpenAI service\", openAiPayload.model);\n const model = openAiPayload.model;\n\n if (!openAiConfig.modelConfigMap) {\n throw new Error(\n \"OpenAI config modelConfigMap is required when using Azure OpenAI service.\"\n );\n }\n\n const azureConfig = openAiConfig.modelConfigMap[model];\n let endpoint;\n if (azureConfig.endpoint) {\n endpoint = `${azureConfig.endpoint}/openai/deployments/${azureConfig.deployment}/chat/completions?api-version=${azureConfig.apiVersion}`;\n } else {\n throw new Error(\"Azure OpenAI endpoint is required in modelConfigMap.\");\n }\n console.log(identifier, \"Using endpoint\", endpoint);\n\n try {\n const stringifiedPayload = JSON.stringify({\n ...openAiPayload,\n stream: true,\n });\n const parsedPayload = JSON.parse(stringifiedPayload);\n } catch (error) {\n console.error(\n identifier,\n \"Stream error: Azure OpenAI JSON parsing error:\",\n JSON.stringify(error)\n );\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"api-key\": azureConfig.apiKey,\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: true,\n }),\n signal: controller.signal,\n });\n } else {\n // openai by default\n console.log(identifier, \"Using OpenAI service\", openAiPayload.model);\n const endpoint = `https://api.openai.com/v1/chat/completions`;\n if (openAiConfig.orgId) {\n console.log(identifier, \"Using orgId\", openAiConfig.orgId);\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${openAiConfig.apiKey}`,\n ...(openAiConfig.orgId\n ? { \"OpenAI-Organization\": openAiConfig.orgId }\n : {}),\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: true,\n }),\n signal: controller.signal,\n });\n }\n\n if (response.body) {\n let rawStreamedBody = \"\";\n let paragraph = \"\";\n let functionCallName = \"\";\n let functionCallArgs = \"\";\n\n const reader = response.body.getReader();\n\n let partialChunk = \"\";\n let abortTimeout: NodeJS.Timeout | null = null;\n const startAbortTimeout = () => {\n abortTimeout && clearTimeout(abortTimeout);\n return setTimeout(() => {\n console.log(\n identifier,\n `Stream error: aborted due to timeout after ${chunkTimeoutMs} ms.`,\n JSON.stringify({ paragraph })\n );\n controller.abort();\n }, chunkTimeoutMs);\n };\n\n let chunkIndex = -1;\n while (true) {\n chunkIndex++;\n const abortTimeout = startAbortTimeout();\n const { done, value } = await reader.read();\n clearTimeout(abortTimeout);\n\n if (done) {\n console.log(\n identifier,\n `Stream error: ended after ${\n chunkIndex + 1\n } chunks via reader done flag.`,\n rawStreamedBody\n );\n throw new Error(\"Stream error: ended prematurely\");\n }\n\n let chunk = new TextDecoder().decode(value);\n rawStreamedBody += chunk + \"\\n\";\n if (partialChunk) {\n chunk = partialChunk + chunk;\n partialChunk = \"\";\n }\n let jsonStrings = chunk.split(/^data: /gm);\n\n for (let jsonString of jsonStrings) {\n if (!jsonString) {\n continue;\n }\n\n if (jsonString.includes(\"[DONE]\")) {\n console.log(\n identifier,\n `Stream explicitly marked as done after ${chunkIndex + 1} chunks.`\n );\n try {\n return parseStreamedResponse(\n identifier,\n paragraph,\n functionCallName,\n functionCallArgs,\n functionNames\n );\n } catch (error) {\n console.error(\n identifier,\n \"Stream error: parsing response:\",\n rawStreamedBody\n );\n throw error;\n }\n }\n\n let json;\n try {\n json = JSON.parse(jsonString.trim());\n } catch (error: any) {\n partialChunk = jsonString; // We're assuming any JSON parsing error means we got a non-terminated JSON for a chunk\n continue;\n }\n\n if (!json.choices || !json.choices.length) {\n if (json.error) {\n console.error(\n identifier,\n \"Stream error: OpenAI error:\",\n json.error && JSON.stringify(json.error)\n );\n const error = new Error(\"Stream error: OpenAI error\") as any;\n error.data = json.error;\n error.requestBody = truncatePayload(openAiPayload);\n throw error;\n }\n if (chunkIndex !== 0)\n console.error(\n identifier,\n \"Stream error: no choices in JSON:\",\n json\n ); // bad if it's not the first chunk\n continue;\n }\n\n const dToolCall:\n | {\n index?: number;\n function?: {\n name?: string;\n arguments?: string;\n };\n }\n | undefined = json.choices?.[0]?.delta?.tool_calls?.[0];\n if (dToolCall) {\n const toolCallIndex = dToolCall.index || 0;\n // TODO: handle multiple function calls in response\n if (toolCallIndex === 0) {\n const dFn = dToolCall.function || {};\n if (dFn.name) functionCallName += dFn.name;\n if (dFn.arguments) functionCallArgs += dFn.arguments;\n }\n }\n\n const text = json.choices?.[0]?.delta?.content;\n if (text) {\n paragraph += text;\n }\n }\n }\n } else {\n throw new Error(\"Stream error: no response body\");\n }\n}\n\nasync function callOpenAI(\n identifier: string,\n openAiPayload: OpenAIPayload,\n openAiConfig: OpenAIConfig | undefined\n): Promise<ParsedResponseMessage> {\n const functionNames: Set<string> | null = openAiPayload.tools\n ? new Set(openAiPayload.tools.map((fn) => fn.function.name as string))\n : null;\n\n if (!openAiConfig) {\n openAiConfig = {\n service: \"openai\",\n apiKey: process.env.OPENAI_API_KEY as string,\n baseUrl: \"\",\n };\n }\n\n let response;\n if (openAiConfig.service === \"azure\") {\n console.log(identifier, \"Using Azure OpenAI service\", openAiPayload.model);\n const model = openAiPayload.model;\n\n if (!openAiConfig.modelConfigMap) {\n throw new Error(\n \"OpenAI config modelConfigMap is required when using Azure OpenAI service.\"\n );\n }\n\n const azureConfig = openAiConfig.modelConfigMap[model];\n let endpoint;\n if (azureConfig.endpoint) {\n endpoint = `${azureConfig.endpoint}/openai/deployments/${azureConfig.deployment}/chat/completions?api-version=${azureConfig.apiVersion}`;\n } else {\n throw new Error(\"Azure OpenAI endpoint is required in modelConfigMap.\");\n }\n console.log(identifier, \"Using endpoint\", endpoint);\n\n try {\n const stringifiedPayload = JSON.stringify({\n ...openAiPayload,\n stream: false,\n });\n const parsedPayload = JSON.parse(stringifiedPayload);\n // You can use parsedPayload if needed\n } catch (error) {\n console.error(\n identifier,\n \"OpenAI JSON parsing error:\",\n JSON.stringify(error)\n );\n throw error;\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"api-key\": azureConfig.apiKey,\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: false,\n }),\n });\n } else {\n // openai by default\n console.log(identifier, \"Using OpenAI service\", openAiPayload.model);\n const endpoint = `https://api.openai.com/v1/chat/completions`;\n if (openAiConfig.orgId) {\n console.log(identifier, \"Using orgId\", openAiConfig.orgId);\n }\n\n response = await fetch(endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${openAiConfig.apiKey}`,\n ...(openAiConfig.orgId\n ? { \"OpenAI-Organization\": openAiConfig.orgId }\n : {}),\n },\n body: JSON.stringify({\n ...openAiPayload,\n stream: false,\n }),\n });\n }\n\n if (!response.ok) {\n const errorData = await response.json();\n console.error(identifier, \"OpenAI API error:\", JSON.stringify(errorData));\n throw new Error(`OpenAI API Error: ${errorData.error.message}`);\n }\n\n const data = await response.json();\n\n if (!data.choices || !data.choices.length) {\n if (data.error) {\n console.error(identifier, \"OpenAI error:\", JSON.stringify(data.error));\n throw new Error(\"OpenAI error: \" + data.error.message);\n }\n throw new Error(\"OpenAI error: No choices returned.\");\n }\n\n const choice = data.choices[0];\n const functionCall = choice.function_call\n ? {\n name: choice.function_call.name,\n arguments: JSON.parse(choice.function_call.arguments),\n }\n : null;\n\n return {\n role: \"assistant\",\n content: choice.message.content || null,\n function_call: functionCall,\n };\n}\n\nfunction truncatePayload(payload: OpenAIPayload): string {\n return JSON.stringify(\n {\n ...payload,\n messages: payload.messages.map((message) => {\n if (typeof message.content === \"string\") {\n message.content = message.content.slice(0, 100);\n } else if (Array.isArray(message.content)) {\n message.content = message.content.map((block) => {\n if (block.type === \"image_url\") {\n block.image_url.url = block.image_url.url.slice(0, 100);\n }\n return block;\n });\n }\n\n return message;\n }),\n },\n null,\n 2\n );\n}\n\nasync function callAnthropicWithRetries(\n identifier: string,\n AiPayload: AnthropicAIPayload,\n AiConfig?: AnthropicAIConfig,\n attempts = 5\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Anthropic API with retries\");\n let lastResponse;\n for (let i = 0; i < attempts; i++) {\n // if last attempt\n if (i === attempts - 1) {\n AiPayload.model = ClaudeModel.SONNET; // fallback to sonnet model\n }\n\n try {\n // return await callAnthropic(identifier, AiPayload);\n lastResponse = await callAnthropic(identifier, AiPayload, AiConfig);\n return lastResponse;\n } catch (e: any) {\n console.error(e);\n console.error(\n identifier,\n `Retrying due to error: received bad response from Anthropic API: ${e.message}`,\n JSON.stringify(e.response?.data)\n );\n\n if (e.response?.data?.error?.type === \"rate_limit_error\") {\n // upgrade to Sonnet\n AiPayload.model = ClaudeModel.SONNET;\n }\n\n await timeout(125 * i);\n }\n }\n const error = new Error(\n `Failed to call Anthropic API after ${attempts} attempts`\n ) as any;\n error.response = lastResponse;\n throw error;\n}\n\nasync function callAnthropic(\n identifier: string,\n AiPayload: AnthropicAIPayload,\n AiConfig?: AnthropicAIConfig\n): Promise<ParsedResponseMessage> {\n const anthropicMessages = jigAnthropicMessages(AiPayload.messages);\n\n let data;\n let response;\n if (AiConfig?.service === \"bedrock\") {\n // DOES NOT SUPPORT TOOLS YET\n const AWS_REGION = \"us-east-1\";\n const MODEL_ID = \"anthropic.claude-3-haiku-20240307-v1:0\";\n\n // set in environment\n // process.env.AWS_ACCESS_KEY_ID = AWS_ACCESS_KEY_ID;\n // process.env.AWS_SECRET_ACCESS_KEY = AWS_SECRET_ACCESS_KEY;\n\n const client = new BedrockRuntimeClient({ region: AWS_REGION });\n const payload = {\n anthropic_version: \"bedrock-2023-05-31\",\n max_tokens: 4096,\n messages: anthropicMessages,\n tools: AiPayload.functions?.map((f) => ({\n ...f,\n input_schema: f.parameters,\n parameters: undefined,\n })),\n };\n\n const response = await client.send(\n new InvokeModelCommand({\n contentType: \"application/json\",\n body: JSON.stringify(payload),\n modelId: MODEL_ID,\n })\n );\n\n const decodedResponseBody = new TextDecoder().decode(response.body);\n data = JSON.parse(decodedResponseBody);\n } else {\n // default to anthropic\n const response = await axios.post(\n \"https://api.anthropic.com/v1/messages\",\n {\n model: AiPayload.model,\n messages: anthropicMessages,\n tools: AiPayload.functions?.map((f) => ({\n ...f,\n input_schema: f.parameters,\n parameters: undefined,\n })),\n temperature: AiPayload.temperature,\n system: AiPayload.system,\n max_tokens: 4096,\n },\n {\n headers: {\n \"content-type\": \"application/json\",\n \"x-api-key\": process.env.ANTHROPIC_API_KEY as string,\n \"anthropic-version\": \"2023-06-01\",\n \"anthropic-beta\": \"tools-2024-04-04\",\n },\n timeout: 60000,\n }\n );\n\n data = response.data;\n }\n\n const answers = data.content;\n\n if (!answers[0]) {\n console.error(identifier, \"Missing answer in Anthropic API:\", data);\n throw new Error(\"Missing answer in Anthropic API\");\n }\n\n let textResponse = \"\";\n let functionCalls: any[] = [];\n for (const answer of answers) {\n if (!answer.type) {\n console.error(identifier, \"Missing answer type in Anthropic API:\", data);\n throw new Error(\"Missing answer type in Anthropic API\");\n }\n\n let text = \"\";\n if (answer.type === \"text\") {\n text = answer.text\n .replace(/<thinking>.*?<\\/thinking>/gs, \"\")\n .replace(/<answer>|<\\/answer>/gs, \"\")\n .trim();\n\n if (!text) {\n // remove the tags and return the text within\n text = answer.text.replace(\n /<thinking>|<\\/thinking>|<answer>|<\\/answer>/gs,\n \"\"\n );\n console.log(\"No text in answer, returning text within tags:\", text);\n }\n\n if (textResponse) {\n textResponse += `\\n\\n${text}`;\n } else {\n textResponse = text;\n }\n } else if (answer.type === \"tool_use\") {\n const call = {\n name: answer.name,\n arguments: answer.input,\n };\n functionCalls.push(call);\n }\n }\n\n if (!textResponse && !functionCalls.length) {\n console.error(\n identifier,\n \"Missing text & fns in Anthropic API response:\",\n JSON.stringify(data)\n );\n throw new Error(\"Missing text & fns in Anthropic API response\");\n }\n\n return {\n role: \"assistant\",\n content: textResponse,\n function_call: functionCalls[0],\n };\n}\n\nfunction jigAnthropicMessages(\n messages: AnthropicAIMessage[]\n): AnthropicAIMessage[] {\n // Takes a list if messages each with a role and content\n // Assumes no system messages are present\n\n let jiggedMessages = messages.slice();\n\n // If the first message is not user, add an empty user message at the start\n if (jiggedMessages[0]?.role !== \"user\") {\n jiggedMessages = [\n {\n role: \"user\" as const,\n content: \"...\",\n },\n ...jiggedMessages,\n ];\n }\n\n // Group consecutive messages with the same role, combining their content\n jiggedMessages = jiggedMessages.reduce((acc, message) => {\n if (acc.length === 0) {\n return [message];\n }\n\n const lastMessage = acc[acc.length - 1];\n if (lastMessage.role === message.role) {\n // Combine content of messages with the same role\n const lastContent = Array.isArray(lastMessage.content)\n ? lastMessage.content\n : [{ type: \"text\" as const, text: lastMessage.content }];\n const newContent = Array.isArray(message.content)\n ? message.content\n : [{ type: \"text\" as const, text: message.content }];\n\n lastMessage.content = [\n ...lastContent,\n { type: \"text\", text: \"\\n\\n---\\n\\n\" },\n ...newContent,\n ];\n return acc;\n }\n\n // Convert string content to text content block\n if (typeof message.content === \"string\") {\n message.content = [{ type: \"text\", text: message.content }];\n }\n\n return [...acc, message];\n }, [] as AnthropicAIMessage[]);\n\n // If last message in array is assistant, then add an empty user message\n if (jiggedMessages[jiggedMessages.length - 1]?.role === \"assistant\") {\n jiggedMessages.push({\n role: \"user\",\n content: \"...\",\n });\n }\n\n return jiggedMessages;\n}\n\nasync function prepareGoogleAIPayload(\n payload: GenericPayload\n): Promise<GoogleAIPayload> {\n const preparedPayload: GoogleAIPayload = {\n model: payload.model as GeminiModel,\n messages: [],\n tools: payload.functions\n ? {\n functionDeclarations: payload.functions.map((fn) => ({\n name: fn.name,\n parameters: {\n // Google puts their description in the parameters object rather than in a top-level field\n description: fn.description,\n ...fn.parameters,\n },\n })),\n }\n : undefined,\n };\n\n for (const message of payload.messages) {\n if (message.role === \"system\") {\n preparedPayload.systemInstruction = message.content;\n continue;\n }\n\n const googleAIContentParts: GoogleAIPart[] = [];\n\n if (message.content) {\n googleAIContentParts.push({\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (!file.mimeType?.startsWith(\"image\")) {\n console.warn(\n \"Google AI API does not support non-image file types. Skipping file.\"\n );\n continue;\n }\n\n if (file.url) {\n googleAIContentParts.push({\n inlineData: {\n mimeType: \"image/png\",\n data: await getNormalizedBase64PNG(file.url, file.mimeType),\n },\n });\n } else if (file.data) {\n if (\n ![\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"].includes(\n file.mimeType\n )\n ) {\n throw new Error(\n \"Invalid image mimeType. Supported types are: image/png, image/jpeg, image/gif, image/webp\"\n );\n }\n googleAIContentParts.push({\n inlineData: {\n mimeType: file.mimeType,\n data: file.data,\n },\n });\n }\n }\n\n preparedPayload.messages.push({\n role: message.role === \"assistant\" ? \"model\" : message.role,\n parts: googleAIContentParts,\n });\n }\n\n return preparedPayload;\n}\n\nasync function callGoogleAI(\n identifier: string,\n payload: GoogleAIPayload\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Google AI API\");\n\n const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);\n const model = genAI.getGenerativeModel({\n model: payload.model,\n tools: payload.tools,\n systemInstruction: payload.systemInstruction,\n });\n\n const history = payload.messages.slice(0, -1);\n const lastMessage = payload.messages.slice(-1)[0];\n const chat = model.startChat({\n history,\n });\n\n const result = await chat.sendMessage(lastMessage.parts);\n const response = await result.response;\n\n const text: string | undefined = response.text();\n const functionCalls:\n | {\n name: string;\n args: Record<string, any>;\n }[]\n | undefined = response.functionCalls();\n\n const parsedFunctionCalls = functionCalls?.map((fc) => ({\n name: fc.name,\n arguments: fc.args,\n }));\n\n return {\n role: \"assistant\",\n content: text || null,\n function_call: parsedFunctionCalls?.[0] || null,\n };\n}\n\nexport async function callWithRetries(\n identifier: string,\n aiPayload: GenericPayload,\n aiConfig?: OpenAIConfig | AnthropicAIConfig,\n retries: number = 5,\n chunkTimeoutMs: number = 15_000\n): Promise<ParsedResponseMessage> {\n // Determine which service to use based on the model type\n if (isAnthropicPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Anthropic API\");\n\n return await callAnthropicWithRetries(\n identifier,\n await prepareAnthropicPayload(aiPayload),\n aiConfig as AnthropicAIConfig,\n retries\n );\n } else if (isOpenAiPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to OpenAI API\");\n return await callOpenAiWithRetries(\n identifier,\n await prepareOpenAIPayload(aiPayload),\n aiConfig as OpenAIConfig,\n retries,\n chunkTimeoutMs\n );\n } else if (isGroqPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Groq API\");\n return await callGroqWithRetries(\n identifier,\n await prepareGroqPayload(aiPayload)\n );\n } else if (isGoogleAIPayload(aiPayload)) {\n console.log(identifier, \"Delegating call to Google AI API\");\n return await callGoogleAI(\n identifier,\n await prepareGoogleAIPayload(aiPayload)\n );\n } else {\n throw new Error(\"Invalid AI payload: Unknown model type.\");\n }\n}\n\nfunction isAnthropicPayload(payload: any): Boolean {\n return Object.values(ClaudeModel).includes(payload.model);\n}\n\nasync function prepareAnthropicPayload(\n payload: GenericPayload\n): Promise<AnthropicAIPayload> {\n const preparedPayload: AnthropicAIPayload = {\n model: payload.model as ClaudeModel,\n messages: [],\n functions: payload.functions,\n temperature: payload.temperature,\n };\n\n for (const message of payload.messages) {\n const anthropicContentBlocks: AnthropicContentBlock[] = [];\n\n if (message.role === \"system\") {\n preparedPayload.system = message.content;\n continue;\n }\n\n if (message.content) {\n anthropicContentBlocks.push({\n type: \"text\",\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (!file.mimeType?.startsWith(\"image\")) {\n console.warn(\n \"Anthropic API does not support non-image file types. Skipping file.\"\n );\n continue;\n }\n\n if (file.url) {\n anthropicContentBlocks.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: await getNormalizedBase64PNG(file.url, file.mimeType),\n },\n });\n } else if (file.data) {\n if (\n ![\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"].includes(\n file.mimeType\n )\n ) {\n throw new Error(\n \"Invalid image mimeType. Supported types are: image/png, image/jpeg, image/gif, image/webp\"\n );\n }\n anthropicContentBlocks.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: file.mimeType as any,\n data: file.data,\n },\n });\n }\n }\n\n preparedPayload.messages.push({\n role: message.role,\n content: anthropicContentBlocks,\n });\n }\n\n return preparedPayload;\n}\n\nfunction isOpenAiPayload(payload: any): Boolean {\n return Object.values(GPTModel).includes(payload.model);\n}\n\nasync function prepareOpenAIPayload(\n payload: GenericPayload\n): Promise<OpenAIPayload> {\n const preparedPayload: OpenAIPayload = {\n model: payload.model as GPTModel,\n temperature: payload.temperature,\n messages: [],\n tools: payload.functions?.map((fn) => ({\n type: \"function\",\n function: fn,\n })),\n tool_choice: payload.function_call\n ? typeof payload.function_call === \"string\"\n ? payload.function_call // \"none\" | \"auto\"\n : {\n type: \"function\",\n function: payload.function_call,\n }\n : undefined,\n };\n\n for (const message of payload.messages) {\n const openAIContentBlocks: OpenAIContentBlock[] = [];\n\n if (message.content) {\n openAIContentBlocks.push({\n type: \"text\",\n text: message.content,\n });\n }\n\n for (const file of message.files || []) {\n if (file.mimeType?.startsWith(\"image\")) {\n if (file.url) {\n openAIContentBlocks.push({\n type: \"image_url\",\n image_url: {\n url: file.url,\n },\n });\n } else if (file.data) {\n openAIContentBlocks.push({\n type: \"image_url\",\n image_url: {\n url: `data:${file.mimeType};base64,${file.data}`,\n },\n });\n }\n // } else if (file.mimeType?.startsWith(\"audio\")) {\n // if (file.url) {\n // openAIContentBlocks.push({\n // type: \"audio_url\",\n // audio_url: {\n // url: file.url,\n // },\n // });\n // } else if (file.data) {\n // openAIContentBlocks.push({\n // type: \"audio_url\",\n // audio_url: {\n // url: `data:${file.mimeType};base64,${file.data}`,\n // },\n // });\n // }\n } else {\n console.warn(\n \"Skipping file. Type not supported by OpenAI API:\",\n file.mimeType\n );\n }\n }\n\n preparedPayload.messages.push({\n role: message.role,\n content: openAIContentBlocks,\n });\n }\n\n return preparedPayload;\n}\n\nfunction isGroqPayload(payload: any): Boolean {\n return Object.values(GroqModel).includes(payload.model);\n}\n\nfunction prepareGroqPayload(payload: GenericPayload): GroqPayload {\n return {\n model: payload.model as GroqModel,\n messages: payload.messages.map((message) => ({\n role: message.role,\n content: normalizeMessageContent(message.content),\n })),\n tools: payload.functions?.map((fn) => ({\n type: \"function\",\n function: fn,\n })),\n tool_choice: payload.function_call\n ? typeof payload.function_call === \"string\"\n ? payload.function_call // \"none\" | \"auto\"\n : {\n type: \"function\",\n function: payload.function_call,\n }\n : undefined,\n temperature: payload.temperature,\n };\n}\n\nfunction normalizeMessageContent(\n content: AnthropicAIMessage[\"content\"]\n): string {\n return Array.isArray(content)\n ? content\n .map((c) => (c.type === \"text\" ? c.text : `[${c.type}]`))\n .join(\"\\n\")\n : content;\n}\n\nfunction isGoogleAIPayload(payload: any): Boolean {\n return Object.values(GeminiModel).includes(payload.model);\n}\n\nasync function callGroq(\n identifier: string,\n payload: GroqPayload\n): Promise<ParsedResponseMessage> {\n const response = await axios.post(\n \"https://api.groq.com/openai/v1/chat/completions\",\n payload,\n {\n headers: {\n \"content-type\": \"application/json\",\n Authorization: `Bearer ${process.env.GROQ_API_KEY}`,\n },\n }\n );\n\n const data = response.data;\n\n const answer = data.choices[0].message;\n if (!answer) {\n console.error(identifier, \"Missing answer in Groq API:\", data);\n throw new Error(\"Missing answer in Groq API\");\n }\n\n const textResponse = answer.content || null;\n let functionCall: FunctionCall | null = null;\n if (answer.tool_calls && answer.tool_calls.length) {\n const toolCall = answer.tool_calls[0];\n functionCall = {\n name: toolCall.function.name,\n arguments: JSON.parse(toolCall.function.arguments),\n };\n }\n\n return {\n role: \"assistant\",\n content: textResponse,\n function_call: functionCall,\n };\n}\n\nasync function callGroqWithRetries(\n identifier: string,\n payload: GroqPayload,\n retries: number = 5\n): Promise<ParsedResponseMessage> {\n console.log(identifier, \"Calling Groq API with retries\");\n\n let lastResponse;\n for (let i = 0; i < retries; i++) {\n try {\n lastResponse = await callGroq(identifier, payload);\n return lastResponse;\n } catch (e: any) {\n console.error(e);\n console.error(\n identifier,\n `Retrying due to error: received bad response from Groq API: ${e.message}`,\n JSON.stringify(e.response?.data)\n );\n\n await timeout(125 * i);\n }\n }\n const error = new Error(\n `Failed to call Groq API after ${retries} attempts`\n ) as any;\n error.response = lastResponse;\n throw error;\n}\n\nasync function getNormalizedBase64PNG(\n url: string,\n mime: string\n): Promise<string> {\n console.log(\"Normalizing image\", url);\n const response = await axios.get(url, { responseType: \"arraybuffer\" });\n\n let imageBuffer = Buffer.from(response.data);\n let sharpOptions = {};\n if (isHeicImage(url, mime)) {\n const imageData = await decode({ buffer: imageBuffer });\n imageBuffer = Buffer.from(imageData.data);\n sharpOptions = {\n raw: {\n width: imageData.width,\n height: imageData.height,\n channels: 4,\n },\n };\n }\n\n // Limits size of image to < 5MB Anthropic limit\n const resizedBuffer = await sharp(imageBuffer, sharpOptions)\n .withMetadata()\n .resize(1024, 1024, { fit: \"inside\", withoutEnlargement: true })\n .png()\n .toBuffer();\n\n return resizedBuffer.toString(\"base64\");\n}\n\n// async function main() {\n// const payload: GenericPayload = {\n// model: GeminiModel.GEMINI_15_PRO,\n// messages: [\n// {\n// role: \"user\",\n// content: \"What is this logo?\",\n// files: [\n// {\n// mimeType: \"image/png\",\n// url: \"https://www.wikimedia.org/static/images/wmf-logo-2x.png\",\n// },\n// ],\n// },\n// ],\n// functions: [\n// {\n// name: \"answer_logo_question\",\n// description: \"Answer a question about a logo\",\n// parameters: {\n// type: \"object\",\n// properties: {\n// organization: {\n// type: \"string\",\n// },\n// },\n// },\n// },\n// ],\n// };\n\n// const answer = await callWithRetries(\"test\", payload);\n\n// console.log(answer);\n// }\n\n// main();\n","export enum ClaudeModel {\n HAIKU = \"claude-3-haiku-20240307\",\n SONNET = \"claude-3-sonnet-20240229\",\n OPUS = \"claude-3-opus-20240229\",\n SONNET_3_5 = \"claude-3-5-sonnet-20241022\",\n}\n\nexport enum GPTModel {\n GPT35_0613 = \"gpt-3.5-turbo-0613\",\n GPT35_0613_16K = \"gpt-3.5-turbo-16k-0613\",\n GPT35_0125 = \"gpt-3.5-turbo-0125\",\n GPT4_1106_PREVIEW = \"gpt-4-1106-preview\",\n GPT4_0125_PREVIEW = \"gpt-4-0125-preview\",\n GPT4_0409 = \"gpt-4-turbo-2024-04-09\",\n GPT4O = \"gpt-4o\",\n GPT4O_MINI = \"gpt-4o-mini\",\n O1_PREVIEW = \"o1-preview\",\n O1_MINI = \"o1-mini\",\n}\n\nexport enum GroqModel {\n LLAMA_3_70B_8192 = \"llama3-70b-8192\",\n}\n\nexport enum GeminiModel {\n GEMINI_15_PRO = \"gemini-1.5-pro-latest\",\n}\n\nexport interface GenericError {\n message: string;\n}\n\nexport enum ContentType {\n TEXT = \"text\",\n ATTACHMENT = \"attachment\",\n}\n\nexport type AIChainResponse = {\n content: string | null;\n contentType?: ContentType;\n functionCalls: FunctionCall[];\n};\n\nexport interface GenericMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string;\n timestamp?: string;\n files?: File[];\n functionCalls?: FunctionCall[];\n}\n\nexport interface File {\n mimeType: string;\n url?: string;\n data?: string;\n}\n\nexport interface OpenAIMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string | OpenAIContentBlock[];\n}\n\nexport type OpenAIContentBlock =\n | OpenAITextContentBlock\n | OpenAIImageContentBlock\n | OpenAIAudioContentBlock;\n\nexport interface OpenAITextContentBlock {\n type: \"text\";\n text: string;\n}\n\nexport interface OpenAIImageContentBlock {\n type: \"image_url\";\n image_url: {\n url: string; // URL to the image, can also be a base64 string\n };\n}\n\nexport interface OpenAIAudioContentBlock {\n type: \"audio_url\";\n audio_url: {\n url: string; // URL to the audio, can also be a base64 string\n };\n}\n\nexport interface AnthropicAIMessage {\n role: \"user\" | \"assistant\" | \"system\";\n content: string | AnthropicContentBlock[];\n}\n\nexport type AnthropicContentBlock =\n | AnthropicTextContentBlock\n | AnthropicImageContentBlock;\n\nexport interface AnthropicTextContentBlock {\n type: \"text\";\n text: string;\n}\n\nexport interface AnthropicImageContentBlock {\n type: \"image\";\n source: {\n type: \"base64\";\n media_type: \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\";\n data: string; // Must be a base64 string\n };\n}\n\nexport interface OpenAIResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: {\n name: string;\n arguments: string; // unparsed arguments object\n } | null;\n}\n\nexport interface ParsedResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: FunctionCall | null;\n}\n\nexport interface FunctionCall {\n name: string;\n arguments: Record<string, any>;\n}\n\nexport interface OpenAIResponseMessage {\n role: \"assistant\";\n content: string | null;\n function_call: {\n name: string;\n arguments: string; // unparsed arguments object\n } | null;\n}\n\nexport interface FunctionCall {\n name: string;\n arguments: Record<string, any>;\n}\n\nexport interface OpenAIConfig {\n service: \"azure\" | \"openai\";\n apiKey: string;\n baseUrl: string;\n orgId?: string;\n modelConfigMap?: Record<\n GPTModel,\n {\n resource: string;\n deployment: string;\n apiVersion: string;\n apiKey: string;\n endpoint?: string;\n }\n >;\n}\n\nexport interface AnthropicAIConfig {\n service: \"anthropic\" | \"bedrock\";\n}\n\nexport interface FunctionDefinition {\n name: string;\n description?: string;\n parameters: Record<string, any>;\n}\n\ninterface FunctionWrapped {\n type: \"function\";\n function: FunctionDefinition;\n}\n\nexport interface GroqPayload {\n model: GroqModel;\n messages: OpenAIMessage[];\n tools?: FunctionWrapped[];\n tool_choice?:\n | \"none\"\n | \"auto\"\n | { type: \"function\"; function: { name: string } };\n temperature?: number;\n\n functions?: any[]; // Deprecate this\n}\n\nexport interface OpenAIPayload {\n model: GPTModel;\n messages: OpenAIMessage[];\n tools?: FunctionWrapped[];\n tool_choice?:\n | \"none\"\n | \"auto\"\n | { type: \"function\"; function: { name: string } };\n temperature?: number;\n}\n\nexport interface AnthropicAIPayload {\n model: ClaudeModel;\n messages: AnthropicAIMessage[];\n functions?: any[]; // TODO type this JSON schema\n temperature?: number;\n system?: string;\n}\n\nexport interface GoogleAITextPart {\n text: string;\n}\n\nexport interface GoogleAIInlineDataPart {\n inlineData: {\n mimeType: string;\n data: string;\n };\n}\n\nexport type GoogleAIPart = GoogleAITextPart | GoogleAIInlineDataPart;\nexport interface GoogleAIMessage {\n role: \"user\" | \"model\";\n parts: GoogleAIPart[];\n}\nexport interface GoogleAIPayload {\n model: GeminiModel;\n messages: GoogleAIMessage[];\n tools?: {\n functionDeclarations: FunctionDefinition[];\n };\n systemInstruction?: string;\n}\n\nexport interface GenericPayload {\n model: GPTModel | ClaudeModel | GroqModel | GeminiModel;\n messages: GenericMessage[];\n functions?: FunctionDefinition[];\n function_call?: \"none\" | \"auto\" | { name: string };\n temperature?: number;\n}\n\nexport interface OpenAIBody {\n choices: {\n message: OpenAIResponseMessage;\n }[];\n error?: {\n code: string;\n };\n usage: {\n completion_tokens: number;\n prompt_tokens: number;\n total_tokens: number;\n };\n}\n","export function timeout(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function isHeicImage(name: string, mime?: string): boolean {\n const extension = name.split(\".\").pop()?.toLowerCase() || \"\";\n return (\n [\"heic\", \"heif\", \"heics\"].includes(extension) ||\n !!(\n mime && [\"image/heic\", \"image/heif\", \"image/heic-sequence\"].includes(mime)\n )\n );\n}\n"],"mappings":"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","names":["ClaudeModel","GPTModel","GroqModel","GeminiModel","abortTimeout","response","axios"]}
|