Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-cdk/aws-s3

Package Overview
Dependencies
Maintainers
5
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-s3 - npm Package Compare versions

Comparing version 1.140.0 to 1.141.0

56

.warnings.jsii.js

@@ -59,4 +59,2 @@ function _aws_cdk_aws_s3_HttpMethods(p) {

}
function _aws_cdk_aws_s3_BucketAttributes(p) {
}
function _aws_cdk_aws_s3_IBucketNotificationDestination(p) {

@@ -90,4 +88,2 @@ }

}
function _aws_cdk_aws_s3_ReplaceKey(p) {
}
function _aws_cdk_aws_s3_RedirectTarget(p) {

@@ -101,2 +97,6 @@ if (p == null)

}
function _aws_cdk_aws_s3_ReplaceKey(p) {
}
function _aws_cdk_aws_s3_BucketAttributes(p) {
}
function _aws_cdk_aws_s3_BlockPublicAccess(p) {

@@ -128,4 +128,2 @@ }

}
function _aws_cdk_aws_s3_CfnAccessPointProps(p) {
}
function _aws_cdk_aws_s3_RoutingRule(p) {

@@ -143,8 +141,10 @@ if (p == null)

}
function _aws_cdk_aws_s3_CfnAccessPointProps(p) {
}
function _aws_cdk_aws_s3_BucketPolicy(p) {
}
function _aws_cdk_aws_s3_CfnBucketPolicy(p) {
}
function _aws_cdk_aws_s3_CfnMultiRegionAccessPointPolicy(p) {
}
function _aws_cdk_aws_s3_CfnBucketPolicy(p) {
}
function _aws_cdk_aws_s3_CfnMultiRegionAccessPointProps(p) {

@@ -166,6 +166,6 @@ }

}
function _aws_cdk_aws_s3_CfnStorageLens_EncryptionProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_AwsOrgProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_S3BucketDestinationProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_SelectionCriteriaProperty(p) {

@@ -189,2 +189,6 @@ }

}
function _aws_cdk_aws_s3_CfnAccessPoint(p) {
}
function _aws_cdk_aws_s3_CfnAccessPoint_VpcConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_ActivityMetricsProperty(p) {

@@ -194,10 +198,4 @@ }

}
function _aws_cdk_aws_s3_CfnAccessPoint(p) {
}
function _aws_cdk_aws_s3_CfnAccessPoint_VpcConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_PrefixLevelProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_S3BucketDestinationProperty(p) {
}
function _aws_cdk_aws_s3_CfnMultiRegionAccessPoint(p) {

@@ -209,6 +207,6 @@ }

}
function _aws_cdk_aws_s3_CfnStorageLens_DataExportProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_AccountLevelProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_DataExportProperty(p) {
}
function _aws_cdk_aws_s3_CfnStorageLens_BucketLevelProperty(p) {

@@ -324,14 +322,14 @@ }

}
function _aws_cdk_aws_s3_CfnBucket_NotificationFilterProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_ObjectLockRuleProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_NotificationFilterProperty(p) {
function _aws_cdk_aws_s3_CfnBucket_LambdaConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_StorageClassAnalysisProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_LambdaConfigurationProperty(p) {
function _aws_cdk_aws_s3_CfnBucket_QueueConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_ReplicationTimeProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_QueueConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_TopicConfigurationProperty(p) {

@@ -341,2 +339,6 @@ }

}
function _aws_cdk_aws_s3_CfnBucket_BucketEncryptionProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_CorsConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_InventoryConfigurationProperty(p) {

@@ -346,6 +348,2 @@ }

}
function _aws_cdk_aws_s3_CfnBucket_BucketEncryptionProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_CorsConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_OwnershipControlsProperty(p) {

@@ -359,6 +357,6 @@ }

}
function _aws_cdk_aws_s3_CfnBucket_MetricsConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_ReplicationRuleAndOperatorProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_MetricsConfigurationProperty(p) {
}
function _aws_cdk_aws_s3_CfnBucket_ReplicationRuleFilterProperty(p) {

@@ -401,3 +399,3 @@ }

}
module.exports = { print, _aws_cdk_aws_s3_HttpMethods, _aws_cdk_aws_s3_RedirectProtocol, _aws_cdk_aws_s3_InventoryFormat, _aws_cdk_aws_s3_InventoryFrequency, _aws_cdk_aws_s3_InventoryObjectVersion, _aws_cdk_aws_s3_ObjectOwnership, _aws_cdk_aws_s3_BucketEncryption, _aws_cdk_aws_s3_EventType, _aws_cdk_aws_s3_BucketAccessControl, _aws_cdk_aws_s3_BucketNotificationDestinationType, _aws_cdk_aws_s3_Tag, _aws_cdk_aws_s3_CfnBucketPolicyProps, _aws_cdk_aws_s3_CfnMultiRegionAccessPointPolicyProps, _aws_cdk_aws_s3_VirtualHostedStyleUrlOptions, _aws_cdk_aws_s3_TransferAccelerationUrlOptions, _aws_cdk_aws_s3_Location, _aws_cdk_aws_s3_NotificationKeyFilter, _aws_cdk_aws_s3_RoutingRuleCondition, _aws_cdk_aws_s3_BucketMetrics, _aws_cdk_aws_s3_BlockPublicAccessOptions, _aws_cdk_aws_s3_OnCloudTrailBucketEventOptions, _aws_cdk_aws_s3_InventoryDestination, _aws_cdk_aws_s3_CorsRule, _aws_cdk_aws_s3_BucketAttributes, _aws_cdk_aws_s3_IBucketNotificationDestination, _aws_cdk_aws_s3_BucketNotificationDestinationConfig, _aws_cdk_aws_s3_Transition, _aws_cdk_aws_s3_NoncurrentVersionTransition, _aws_cdk_aws_s3_ReplaceKey, _aws_cdk_aws_s3_RedirectTarget, _aws_cdk_aws_s3_BlockPublicAccess, _aws_cdk_aws_s3_CfnStorageLensProps, _aws_cdk_aws_s3_IntelligentTieringConfiguration, _aws_cdk_aws_s3_BucketPolicyProps, _aws_cdk_aws_s3_CfnAccessPointProps, _aws_cdk_aws_s3_RoutingRule, _aws_cdk_aws_s3_BucketPolicy, _aws_cdk_aws_s3_CfnMultiRegionAccessPointPolicy, _aws_cdk_aws_s3_CfnBucketPolicy, _aws_cdk_aws_s3_CfnMultiRegionAccessPointProps, _aws_cdk_aws_s3_LifecycleRule, _aws_cdk_aws_s3_StorageClass, _aws_cdk_aws_s3_CfnStorageLens, _aws_cdk_aws_s3_CfnStorageLens_EncryptionProperty, _aws_cdk_aws_s3_CfnStorageLens_AwsOrgProperty, _aws_cdk_aws_s3_CfnStorageLens_SelectionCriteriaProperty, _aws_cdk_aws_s3_CfnStorageLens_BucketsAndRegionsProperty, _aws_cdk_aws_s3_Inventory, _aws_cdk_aws_s3_CfnStorageLens_ActivityMetricsProperty, _aws_cdk_aws_s3_CfnStorageLens_CloudWatchMetricsProperty, _aws_cdk_aws_s3_CfnAccessPoint, _aws_cdk_aws_s3_CfnAccessPoint_VpcConfigurationProperty, _aws_cdk_aws_s3_CfnStorageLens_PrefixLevelProperty, _aws_cdk_aws_s3_CfnStorageLens_S3BucketDestinationProperty, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint_RegionProperty, _aws_cdk_aws_s3_CfnStorageLens_PrefixLevelStorageMetricsProperty, _aws_cdk_aws_s3_CfnStorageLens_AccountLevelProperty, _aws_cdk_aws_s3_CfnStorageLens_DataExportProperty, _aws_cdk_aws_s3_CfnStorageLens_BucketLevelProperty, _aws_cdk_aws_s3_CfnAccessPoint_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_Bucket, _aws_cdk_aws_s3_CfnStorageLens_StorageLensConfigurationProperty, _aws_cdk_aws_s3_BucketProps, _aws_cdk_aws_s3_IBucket, _aws_cdk_aws_s3_BucketBase, _aws_cdk_aws_s3_CfnBucketProps, _aws_cdk_aws_s3_CfnBucket, _aws_cdk_aws_s3_CfnBucket_AbortIncompleteMultipartUploadProperty, _aws_cdk_aws_s3_CfnBucket_AccelerateConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_AccessControlTranslationProperty, _aws_cdk_aws_s3_CfnBucket_EncryptionConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicaModificationsProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationTimeValueProperty, _aws_cdk_aws_s3_CfnBucket_SseKmsEncryptedObjectsProperty, _aws_cdk_aws_s3_CfnBucket_VersioningConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_FilterRuleProperty, _aws_cdk_aws_s3_CfnBucket_TagFilterProperty, _aws_cdk_aws_s3_CfnBucket_TieringProperty, _aws_cdk_aws_s3_CfnBucket_DeleteMarkerReplicationProperty, _aws_cdk_aws_s3_CfnBucket_OwnershipControlsRuleProperty, _aws_cdk_aws_s3_CfnBucket_NoncurrentVersionExpirationProperty, _aws_cdk_aws_s3_CfnBucket_RedirectAllRequestsToProperty, _aws_cdk_aws_s3_CfnBucket_ServerSideEncryptionByDefaultProperty, _aws_cdk_aws_s3_CfnBucket_NoncurrentVersionTransitionProperty, _aws_cdk_aws_s3_CfnBucket_LoggingConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_RoutingRuleConditionProperty, _aws_cdk_aws_s3_CfnBucket_DestinationProperty, _aws_cdk_aws_s3_CfnBucket_DefaultRetentionProperty, _aws_cdk_aws_s3_CfnBucket_RedirectRuleProperty, _aws_cdk_aws_s3_CfnBucket_CorsRuleProperty, _aws_cdk_aws_s3_CfnBucket_TransitionProperty, _aws_cdk_aws_s3_CfnBucket_EventBridgeConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_DataExportProperty, _aws_cdk_aws_s3_CfnBucket_MetricsProperty, _aws_cdk_aws_s3_CfnBucket_ObjectLockRuleProperty, _aws_cdk_aws_s3_CfnBucket_NotificationFilterProperty, _aws_cdk_aws_s3_CfnBucket_StorageClassAnalysisProperty, _aws_cdk_aws_s3_CfnBucket_LambdaConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationTimeProperty, _aws_cdk_aws_s3_CfnBucket_QueueConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_TopicConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ObjectLockConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_InventoryConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_LifecycleConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_BucketEncryptionProperty, _aws_cdk_aws_s3_CfnBucket_CorsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_OwnershipControlsProperty, _aws_cdk_aws_s3_CfnBucket_S3KeyFilterProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ServerSideEncryptionRuleProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleAndOperatorProperty, _aws_cdk_aws_s3_CfnBucket_MetricsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleFilterProperty, _aws_cdk_aws_s3_CfnBucket_RoutingRuleProperty, _aws_cdk_aws_s3_CfnBucket_SourceSelectionCriteriaProperty, _aws_cdk_aws_s3_CfnBucket_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_AnalyticsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_WebsiteConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_IntelligentTieringConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationDestinationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleProperty, _aws_cdk_aws_s3_CfnBucket_NotificationConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_RuleProperty };
module.exports = { print, _aws_cdk_aws_s3_HttpMethods, _aws_cdk_aws_s3_RedirectProtocol, _aws_cdk_aws_s3_InventoryFormat, _aws_cdk_aws_s3_InventoryFrequency, _aws_cdk_aws_s3_InventoryObjectVersion, _aws_cdk_aws_s3_ObjectOwnership, _aws_cdk_aws_s3_BucketEncryption, _aws_cdk_aws_s3_EventType, _aws_cdk_aws_s3_BucketAccessControl, _aws_cdk_aws_s3_BucketNotificationDestinationType, _aws_cdk_aws_s3_Tag, _aws_cdk_aws_s3_CfnBucketPolicyProps, _aws_cdk_aws_s3_CfnMultiRegionAccessPointPolicyProps, _aws_cdk_aws_s3_VirtualHostedStyleUrlOptions, _aws_cdk_aws_s3_TransferAccelerationUrlOptions, _aws_cdk_aws_s3_Location, _aws_cdk_aws_s3_NotificationKeyFilter, _aws_cdk_aws_s3_RoutingRuleCondition, _aws_cdk_aws_s3_BucketMetrics, _aws_cdk_aws_s3_BlockPublicAccessOptions, _aws_cdk_aws_s3_OnCloudTrailBucketEventOptions, _aws_cdk_aws_s3_InventoryDestination, _aws_cdk_aws_s3_CorsRule, _aws_cdk_aws_s3_IBucketNotificationDestination, _aws_cdk_aws_s3_BucketNotificationDestinationConfig, _aws_cdk_aws_s3_Transition, _aws_cdk_aws_s3_NoncurrentVersionTransition, _aws_cdk_aws_s3_RedirectTarget, _aws_cdk_aws_s3_ReplaceKey, _aws_cdk_aws_s3_BucketAttributes, _aws_cdk_aws_s3_BlockPublicAccess, _aws_cdk_aws_s3_CfnStorageLensProps, _aws_cdk_aws_s3_IntelligentTieringConfiguration, _aws_cdk_aws_s3_BucketPolicyProps, _aws_cdk_aws_s3_RoutingRule, _aws_cdk_aws_s3_CfnAccessPointProps, _aws_cdk_aws_s3_BucketPolicy, _aws_cdk_aws_s3_CfnBucketPolicy, _aws_cdk_aws_s3_CfnMultiRegionAccessPointPolicy, _aws_cdk_aws_s3_CfnMultiRegionAccessPointProps, _aws_cdk_aws_s3_LifecycleRule, _aws_cdk_aws_s3_StorageClass, _aws_cdk_aws_s3_CfnStorageLens, _aws_cdk_aws_s3_CfnStorageLens_AwsOrgProperty, _aws_cdk_aws_s3_CfnStorageLens_S3BucketDestinationProperty, _aws_cdk_aws_s3_CfnStorageLens_SelectionCriteriaProperty, _aws_cdk_aws_s3_CfnStorageLens_BucketsAndRegionsProperty, _aws_cdk_aws_s3_Inventory, _aws_cdk_aws_s3_CfnAccessPoint, _aws_cdk_aws_s3_CfnAccessPoint_VpcConfigurationProperty, _aws_cdk_aws_s3_CfnStorageLens_ActivityMetricsProperty, _aws_cdk_aws_s3_CfnStorageLens_CloudWatchMetricsProperty, _aws_cdk_aws_s3_CfnStorageLens_PrefixLevelProperty, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint_RegionProperty, _aws_cdk_aws_s3_CfnStorageLens_PrefixLevelStorageMetricsProperty, _aws_cdk_aws_s3_CfnStorageLens_DataExportProperty, _aws_cdk_aws_s3_CfnStorageLens_AccountLevelProperty, _aws_cdk_aws_s3_CfnStorageLens_BucketLevelProperty, _aws_cdk_aws_s3_CfnAccessPoint_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_Bucket, _aws_cdk_aws_s3_CfnStorageLens_StorageLensConfigurationProperty, _aws_cdk_aws_s3_BucketProps, _aws_cdk_aws_s3_IBucket, _aws_cdk_aws_s3_BucketBase, _aws_cdk_aws_s3_CfnBucketProps, _aws_cdk_aws_s3_CfnBucket, _aws_cdk_aws_s3_CfnBucket_AbortIncompleteMultipartUploadProperty, _aws_cdk_aws_s3_CfnBucket_AccelerateConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_AccessControlTranslationProperty, _aws_cdk_aws_s3_CfnBucket_EncryptionConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicaModificationsProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationTimeValueProperty, _aws_cdk_aws_s3_CfnBucket_SseKmsEncryptedObjectsProperty, _aws_cdk_aws_s3_CfnBucket_VersioningConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_FilterRuleProperty, _aws_cdk_aws_s3_CfnBucket_TagFilterProperty, _aws_cdk_aws_s3_CfnBucket_TieringProperty, _aws_cdk_aws_s3_CfnBucket_DeleteMarkerReplicationProperty, _aws_cdk_aws_s3_CfnBucket_OwnershipControlsRuleProperty, _aws_cdk_aws_s3_CfnBucket_NoncurrentVersionExpirationProperty, _aws_cdk_aws_s3_CfnBucket_RedirectAllRequestsToProperty, _aws_cdk_aws_s3_CfnBucket_ServerSideEncryptionByDefaultProperty, _aws_cdk_aws_s3_CfnBucket_NoncurrentVersionTransitionProperty, _aws_cdk_aws_s3_CfnBucket_LoggingConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_RoutingRuleConditionProperty, _aws_cdk_aws_s3_CfnBucket_DestinationProperty, _aws_cdk_aws_s3_CfnBucket_DefaultRetentionProperty, _aws_cdk_aws_s3_CfnBucket_RedirectRuleProperty, _aws_cdk_aws_s3_CfnBucket_CorsRuleProperty, _aws_cdk_aws_s3_CfnBucket_TransitionProperty, _aws_cdk_aws_s3_CfnBucket_EventBridgeConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_DataExportProperty, _aws_cdk_aws_s3_CfnBucket_MetricsProperty, _aws_cdk_aws_s3_CfnBucket_NotificationFilterProperty, _aws_cdk_aws_s3_CfnBucket_ObjectLockRuleProperty, _aws_cdk_aws_s3_CfnBucket_LambdaConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_StorageClassAnalysisProperty, _aws_cdk_aws_s3_CfnBucket_QueueConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationTimeProperty, _aws_cdk_aws_s3_CfnBucket_TopicConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ObjectLockConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_BucketEncryptionProperty, _aws_cdk_aws_s3_CfnBucket_CorsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_InventoryConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_LifecycleConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_OwnershipControlsProperty, _aws_cdk_aws_s3_CfnBucket_S3KeyFilterProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ServerSideEncryptionRuleProperty, _aws_cdk_aws_s3_CfnBucket_MetricsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleAndOperatorProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleFilterProperty, _aws_cdk_aws_s3_CfnBucket_RoutingRuleProperty, _aws_cdk_aws_s3_CfnBucket_SourceSelectionCriteriaProperty, _aws_cdk_aws_s3_CfnBucket_PublicAccessBlockConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_AnalyticsConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_WebsiteConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_IntelligentTieringConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationDestinationProperty, _aws_cdk_aws_s3_CfnBucket_ReplicationRuleProperty, _aws_cdk_aws_s3_CfnBucket_NotificationConfigurationProperty, _aws_cdk_aws_s3_CfnBucket_RuleProperty };
module.exports.DeprecationError = DeprecationError;

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

_a = JSII_RTTI_SYMBOL_1;
BucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3.BucketPolicy", version: "1.140.0" };
BucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3.BucketPolicy", version: "1.141.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1Y2tldC1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQWtEO0FBQ2xELHdDQUF3RDtBQUd4RCxpREFBaUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV2pELE1BQWEsWUFBYSxTQUFRLGVBQVE7Ozs7SUFPeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7Ozs7UUFMSCxhQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7O1FBTzlDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksOEJBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RDtLQUNGOzs7Ozs7O0lBR00sa0JBQWtCLENBQUMsYUFBNEI7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNqRDs7QUEzQkgsb0NBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9saWN5RG9jdW1lbnQgfSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFJlc291cmNlIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICcuL2J1Y2tldCc7XG5pbXBvcnQgeyBDZm5CdWNrZXRQb2xpY3kgfSBmcm9tICcuL3MzLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0UG9saWN5UHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQnVja2V0UG9saWN5IGV4dGVuZHMgUmVzb3VyY2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IG5ldyBQb2xpY3lEb2N1bWVudCgpO1xuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkJ1Y2tldFBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVja2V0UG9saWN5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKCFwcm9wcy5idWNrZXQuYnVja2V0TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWNrZXQgZG9lc25cXCd0IGhhdmUgYSBidWNrZXROYW1lIGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkJ1Y2tldFBvbGljeSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBidWNrZXQ6IHByb3BzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcG9saWN5RG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSk7XG4gICAgfVxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYXBwbHlSZW1vdmFsUG9saWN5KHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kpIHtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShyZW1vdmFsUG9saWN5KTtcbiAgfVxuXG59XG4iXX0=
import * as iam from '@aws-cdk/aws-iam';
import { Construct } from '@aws-cdk/core';
export declare class NotificationsResourceHandlerProps {
role?: iam.IRole;
}
/**

@@ -27,3 +30,3 @@ * A Lambda-based custom resource handler that provisions S3 bucket

*/
static singleton(context: Construct): NotificationsResourceHandler;
static singleton(context: Construct, props?: NotificationsResourceHandlerProps): NotificationsResourceHandler;
/**

@@ -37,4 +40,5 @@ * The ARN of the handler's lambda function. Used as a service token in the

*/
readonly role: iam.Role;
constructor(scope: Construct, id: string);
readonly role: iam.IRole;
constructor(scope: Construct, id: string, props?: NotificationsResourceHandlerProps);
addToRolePolicy(statement: iam.PolicyStatement): void;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotificationsResourceHandler = void 0;
exports.NotificationsResourceHandler = exports.NotificationsResourceHandlerProps = void 0;
const fs = require("fs");

@@ -11,2 +11,5 @@ const path = require("path");

const core_1 = require("@aws-cdk/core");
class NotificationsResourceHandlerProps {
}
exports.NotificationsResourceHandlerProps = NotificationsResourceHandlerProps;
/**

@@ -30,11 +33,10 @@ * A Lambda-based custom resource handler that provisions S3 bucket

class NotificationsResourceHandler extends core_1.Construct {
constructor(scope, id) {
constructor(scope, id, props = {}) {
var _a;
super(scope, id);
this.role = new iam.Role(this, 'Role', {
this.role = (_a = props.role) !== null && _a !== void 0 ? _a : new iam.Role(this, 'Role', {
assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
managedPolicies: [
iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaBasicExecutionRole'),
],
});
this.role.addToPolicy(new iam.PolicyStatement({
this.role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSLambdaBasicExecutionRole'));
this.role.addToPrincipalPolicy(new iam.PolicyStatement({
actions: ['s3:PutBucketNotification'],

@@ -55,2 +57,6 @@ resources: ['*'],

}
const handlerSource = fs.readFileSync(path.join(__dirname, 'lambda/index.py'), 'utf8');
if (handlerSource.length > 4096) {
throw new Error(`Source of Notifications Resource Handler is too large (${handlerSource.length} > 4096)`);
}
const resource = new InLineLambda(this, 'Resource', {

@@ -60,3 +66,3 @@ type: resourceType,

Description: 'AWS CloudFormation handler for "Custom::S3BucketNotifications" resources (@aws-cdk/aws-s3)',
Code: { ZipFile: fs.readFileSync(path.join(__dirname, 'lambda/index.py'), 'utf8') },
Code: { ZipFile: handlerSource },
Handler: 'index.handler',

@@ -77,3 +83,3 @@ Role: this.role.roleArn,

*/
static singleton(context) {
static singleton(context, props = {}) {
const root = cdk.Stack.of(context);

@@ -84,8 +90,11 @@ // well-known logical id to ensure stack singletonity

if (!lambda) {
lambda = new NotificationsResourceHandler(root, logicalId);
lambda = new NotificationsResourceHandler(root, logicalId, props);
}
return lambda;
}
addToRolePolicy(statement) {
this.role.addToPrincipalPolicy(statement);
}
}
exports.NotificationsResourceHandler = NotificationsResourceHandler;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0Isd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUVyQyxpR0FBaUc7QUFDakcsOERBQThEO0FBQzlELHdDQUEwQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsZ0JBQVM7SUErQnpELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNyQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDM0QsZUFBZSxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsMENBQTBDLENBQUM7YUFDdkY7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDckMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxZQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDN0MsTUFBTSxZQUFhLFNBQVEsR0FBRyxDQUFDLFdBQVc7WUFBMUM7O2dCQUNrQixTQUFJLEdBQW1CLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQU9oRyxDQUFDO1lBTFcsZ0JBQWdCLENBQUMsVUFBZTtnQkFDeEMsVUFBVSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDckYsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUN2QixPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1NBQ0Y7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2xELElBQUksRUFBRSxZQUFZO1lBQ2xCLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsNEZBQTRGO2dCQUN6RyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNuRixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztnQkFDdkIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3REO0lBckVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFrQjtRQUN4QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsNERBQTRELENBQUM7UUFDL0UsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFpQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0NBcURGO0FBdkVELG9FQXVFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbi8vIGtlZXAgdGhpcyBpbXBvcnQgc2VwYXJhdGUgZnJvbSBvdGhlciBpbXBvcnRzIHRvIHJlZHVjZSBjaGFuY2UgZm9yIG1lcmdlIGNvbmZsaWN0cyB3aXRoIHYyLW1haW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtaW1wb3J0cywgaW1wb3J0L29yZGVyXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcblxuLyoqXG4gKiBBIExhbWJkYS1iYXNlZCBjdXN0b20gcmVzb3VyY2UgaGFuZGxlciB0aGF0IHByb3Zpc2lvbnMgUzMgYnVja2V0XG4gKiBub3RpZmljYXRpb25zIGZvciBhIGJ1Y2tldC5cbiAqXG4gKiBUaGUgcmVzb3VyY2UgcHJvcGVydHkgc2NoZW1hIGlzOlxuICpcbiAqIHtcbiAqICAgQnVja2V0TmFtZTogc3RyaW5nLCBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiB7IHNlZVxuICogICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uIH1cbiAqIH1cbiAqXG4gKiBGb3IgJ0RlbGV0ZScgb3BlcmF0aW9ucywgd2Ugc2VuZCBhbiBlbXB0eSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIGFzXG4gKiByZXF1aXJlZC4gV2UgcHJvcGFnYXRlIGVycm9ycyBhbmQgcmVzdWx0cyBhcy1pcy5cbiAqXG4gKiBTYWRseSwgd2UgY2FuJ3QgdXNlIEBhd3MtY2RrL2F3cy1sYW1iZGEgYXMgaXQgd2lsbCBpbnRyb2R1Y2UgYSBkZXBlbmRlbmN5XG4gKiBjeWNsZSwgc28gdGhpcyB1c2VzIHJhdyBgY2RrLlJlc291cmNlYHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBzdGFjay1zaW5nbGV0b24gbGFtYmRhIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIGZvciBhIENsb3VkRm9ybWF0aW9uIGN1c3RvbVxuICAgKiByZXNvdXJjZSB0aGF0IHByb3Zpc2lvbnMgYnVja2V0IG5vdGlmaWNhdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIGJ1Y2tldC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIEFSTiBvZiB0aGUgY3VzdG9tIHJlc291cmNlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2luZ2xldG9uKGNvbnRleHQ6IENvbnN0cnVjdCkge1xuICAgIGNvbnN0IHJvb3QgPSBjZGsuU3RhY2sub2YoY29udGV4dCk7XG5cbiAgICAvLyB3ZWxsLWtub3duIGxvZ2ljYWwgaWQgdG8gZW5zdXJlIHN0YWNrIHNpbmdsZXRvbml0eVxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9ICdCdWNrZXROb3RpZmljYXRpb25zSGFuZGxlcjA1MGEwNTg3Yjc1NDQ1NDdiZjMyNWYwOTRhM2RiODM0JztcbiAgICBsZXQgbGFtYmRhID0gcm9vdC5ub2RlLnRyeUZpbmRDaGlsZChsb2dpY2FsSWQpIGFzIE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXI7XG4gICAgaWYgKCFsYW1iZGEpIHtcbiAgICAgIGxhbWJkYSA9IG5ldyBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyKHJvb3QsIGxvZ2ljYWxJZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhbWJkYTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBoYW5kbGVyJ3MgbGFtYmRhIGZ1bmN0aW9uLiBVc2VkIGFzIGEgc2VydmljZSB0b2tlbiBpbiB0aGVcbiAgICogY3VzdG9tIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIG9mIHRoZSBoYW5kbGVyJ3MgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5Sb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5yb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5yb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnczM6UHV0QnVja2V0Tm90aWZpY2F0aW9uJ10sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJlc291cmNlVHlwZSA9ICdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nO1xuICAgIGNsYXNzIEluTGluZUxhbWJkYSBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFnczogY2RrLlRhZ01hbmFnZXIgPSBuZXcgY2RrLlRhZ01hbmFnZXIoY2RrLlRhZ1R5cGUuU1RBTkRBUkQsIHJlc291cmNlVHlwZSk7XG5cbiAgICAgIHByb3RlY3RlZCByZW5kZXJQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IGFueSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBwcm9wZXJ0aWVzLlRhZ3MgPSBjZGsubGlzdE1hcHBlcihjZGsuY2ZuVGFnVG9DbG91ZEZvcm1hdGlvbikodGhpcy50YWdzLnJlbmRlclRhZ3MoKSk7XG4gICAgICAgIGRlbGV0ZSBwcm9wZXJ0aWVzLnRhZ3M7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBJbkxpbmVMYW1iZGEodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgdHlwZTogcmVzb3VyY2VUeXBlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBEZXNjcmlwdGlvbjogJ0FXUyBDbG91ZEZvcm1hdGlvbiBoYW5kbGVyIGZvciBcIkN1c3RvbTo6UzNCdWNrZXROb3RpZmljYXRpb25zXCIgcmVzb3VyY2VzIChAYXdzLWNkay9hd3MtczMpJyxcbiAgICAgICAgQ29kZTogeyBaaXBGaWxlOiBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJ2xhbWJkYS9pbmRleC5weScpLCAndXRmOCcpIH0sXG4gICAgICAgIEhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgUm9sZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICAgIFJ1bnRpbWU6ICdweXRob24zLjcnLFxuICAgICAgICBUaW1lb3V0OiAzMDAsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnJvbGUpO1xuXG4gICAgdGhpcy5mdW5jdGlvbkFybiA9IHJlc291cmNlLmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0Isd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUVyQyxpR0FBaUc7QUFDakcsOERBQThEO0FBQzlELHdDQUEwQztBQUUxQyxNQUFhLGlDQUFpQztDQUU3QztBQUZELDhFQUVDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFhLDRCQUE2QixTQUFRLGdCQUFTO0lBK0J6RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTJDLEVBQUU7O1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksU0FBRyxLQUFLLENBQUMsSUFBSSxtQ0FBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuRCxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDeEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQywwQ0FBMEMsQ0FBQyxDQUN2RixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDckQsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDckMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxZQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDN0MsTUFBTSxZQUFhLFNBQVEsR0FBRyxDQUFDLFdBQVc7WUFBMUM7O2dCQUNrQixTQUFJLEdBQW1CLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQU9oRyxDQUFDO1lBTFcsZ0JBQWdCLENBQUMsVUFBZTtnQkFDeEMsVUFBVSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDckYsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUN2QixPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1NBQ0Y7UUFFRCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkYsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxhQUFhLENBQUMsTUFBTSxVQUFVLENBQUMsQ0FBQztTQUMzRztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbEQsSUFBSSxFQUFFLFlBQVk7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSw0RkFBNEY7Z0JBQ3pHLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7Z0JBQ2hDLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUN2QixPQUFPLEVBQUUsV0FBVztnQkFDcEIsT0FBTyxFQUFFLEdBQUc7YUFDYjtTQUNGLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEQ7SUEzRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQWtCLEVBQUUsUUFBMkMsRUFBRTtRQUN2RixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsNERBQTRELENBQUM7UUFDL0UsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFpQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25FO1FBRUQsT0FBTyxNQUFNLENBQUM7S0FDZjtJQTRETSxlQUFlLENBQUMsU0FBOEI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQztDQUNGO0FBakZELG9FQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbi8vIGtlZXAgdGhpcyBpbXBvcnQgc2VwYXJhdGUgZnJvbSBvdGhlciBpbXBvcnRzIHRvIHJlZHVjZSBjaGFuY2UgZm9yIG1lcmdlIGNvbmZsaWN0cyB3aXRoIHYyLW1haW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtaW1wb3J0cywgaW1wb3J0L29yZGVyXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcblxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXJQcm9wcyB7XG4gIHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogQSBMYW1iZGEtYmFzZWQgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgdGhhdCBwcm92aXNpb25zIFMzIGJ1Y2tldFxuICogbm90aWZpY2F0aW9ucyBmb3IgYSBidWNrZXQuXG4gKlxuICogVGhlIHJlc291cmNlIHByb3BlcnR5IHNjaGVtYSBpczpcbiAqXG4gKiB7XG4gKiAgIEJ1Y2tldE5hbWU6IHN0cmluZywgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogeyBzZWVcbiAqICAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB9XG4gKiB9XG4gKlxuICogRm9yICdEZWxldGUnIG9wZXJhdGlvbnMsIHdlIHNlbmQgYW4gZW1wdHkgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBhc1xuICogcmVxdWlyZWQuIFdlIHByb3BhZ2F0ZSBlcnJvcnMgYW5kIHJlc3VsdHMgYXMtaXMuXG4gKlxuICogU2FkbHksIHdlIGNhbid0IHVzZSBAYXdzLWNkay9hd3MtbGFtYmRhIGFzIGl0IHdpbGwgaW50cm9kdWNlIGEgZGVwZW5kZW5jeVxuICogY3ljbGUsIHNvIHRoaXMgdXNlcyByYXcgYGNkay5SZXNvdXJjZWBzLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgc3RhY2stc2luZ2xldG9uIGxhbWJkYSBmdW5jdGlvbiB3aXRoIHRoZSBsb2dpYyBmb3IgYSBDbG91ZEZvcm1hdGlvbiBjdXN0b21cbiAgICogcmVzb3VyY2UgdGhhdCBwcm92aXNpb25zIGJ1Y2tldCBub3RpZmljYXRpb24gY29uZmlndXJhdGlvbiBmb3IgYSBidWNrZXQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBBUk4gb2YgdGhlIGN1c3RvbSByZXNvdXJjZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNpbmdsZXRvbihjb250ZXh0OiBDb25zdHJ1Y3QsIHByb3BzOiBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyUHJvcHMgPSB7fSkge1xuICAgIGNvbnN0IHJvb3QgPSBjZGsuU3RhY2sub2YoY29udGV4dCk7XG5cbiAgICAvLyB3ZWxsLWtub3duIGxvZ2ljYWwgaWQgdG8gZW5zdXJlIHN0YWNrIHNpbmdsZXRvbml0eVxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9ICdCdWNrZXROb3RpZmljYXRpb25zSGFuZGxlcjA1MGEwNTg3Yjc1NDQ1NDdiZjMyNWYwOTRhM2RiODM0JztcbiAgICBsZXQgbGFtYmRhID0gcm9vdC5ub2RlLnRyeUZpbmRDaGlsZChsb2dpY2FsSWQpIGFzIE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXI7XG4gICAgaWYgKCFsYW1iZGEpIHtcbiAgICAgIGxhbWJkYSA9IG5ldyBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyKHJvb3QsIGxvZ2ljYWxJZCwgcHJvcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBsYW1iZGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgaGFuZGxlcidzIGxhbWJkYSBmdW5jdGlvbi4gVXNlZCBhcyBhIHNlcnZpY2UgdG9rZW4gaW4gdGhlXG4gICAqIGN1c3RvbSByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmdW5jdGlvbkFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSBvZiB0aGUgaGFuZGxlcidzIGxhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXJQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGUgPz8gbmV3IGlhbS5Sb2xlKHRoaXMsICdSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgfSk7XG5cbiAgICB0aGlzLnJvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpLFxuICAgICk7XG4gICAgdGhpcy5yb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnczM6UHV0QnVja2V0Tm90aWZpY2F0aW9uJ10sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJlc291cmNlVHlwZSA9ICdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nO1xuICAgIGNsYXNzIEluTGluZUxhbWJkYSBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFnczogY2RrLlRhZ01hbmFnZXIgPSBuZXcgY2RrLlRhZ01hbmFnZXIoY2RrLlRhZ1R5cGUuU1RBTkRBUkQsIHJlc291cmNlVHlwZSk7XG5cbiAgICAgIHByb3RlY3RlZCByZW5kZXJQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IGFueSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBwcm9wZXJ0aWVzLlRhZ3MgPSBjZGsubGlzdE1hcHBlcihjZGsuY2ZuVGFnVG9DbG91ZEZvcm1hdGlvbikodGhpcy50YWdzLnJlbmRlclRhZ3MoKSk7XG4gICAgICAgIGRlbGV0ZSBwcm9wZXJ0aWVzLnRhZ3M7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZXJTb3VyY2UgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJ2xhbWJkYS9pbmRleC5weScpLCAndXRmOCcpO1xuICAgIGlmIChoYW5kbGVyU291cmNlLmxlbmd0aCA+IDQwOTYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU291cmNlIG9mIE5vdGlmaWNhdGlvbnMgUmVzb3VyY2UgSGFuZGxlciBpcyB0b28gbGFyZ2UgKCR7aGFuZGxlclNvdXJjZS5sZW5ndGh9ID4gNDA5NilgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBJbkxpbmVMYW1iZGEodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgdHlwZTogcmVzb3VyY2VUeXBlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBEZXNjcmlwdGlvbjogJ0FXUyBDbG91ZEZvcm1hdGlvbiBoYW5kbGVyIGZvciBcIkN1c3RvbTo6UzNCdWNrZXROb3RpZmljYXRpb25zXCIgcmVzb3VyY2VzIChAYXdzLWNkay9hd3MtczMpJyxcbiAgICAgICAgQ29kZTogeyBaaXBGaWxlOiBoYW5kbGVyU291cmNlIH0sXG4gICAgICAgIEhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgUm9sZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICAgIFJ1bnRpbWU6ICdweXRob24zLjcnLFxuICAgICAgICBUaW1lb3V0OiAzMDAsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnJvbGUpO1xuXG4gICAgdGhpcy5mdW5jdGlvbkFybiA9IHJlc291cmNlLmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KSB7XG4gICAgdGhpcy5yb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudCk7XG4gIH1cbn1cbiJdfQ==

@@ -0,1 +1,2 @@

import * as iam from '@aws-cdk/aws-iam';
import { IBucket, EventType, NotificationKeyFilter } from '../bucket';

@@ -9,2 +10,6 @@ import { IBucketNotificationDestination } from '../destination';

bucket: IBucket;
/**
* The role to be used by the lambda handler
*/
handlerRole?: iam.IRole;
}

@@ -32,2 +37,3 @@ /**

private readonly bucket;
private readonly handlerRole?;
constructor(scope: Construct, id: string, props: NotificationsProps);

@@ -34,0 +40,0 @@ /**

@@ -34,2 +34,3 @@ "use strict";

this.bucket = props.bucket;
this.handlerRole = props.handlerRole;
}

@@ -88,6 +89,8 @@ /**

if (!this.resource) {
const handler = notifications_resource_handler_1.NotificationsResourceHandler.singleton(this);
const handler = notifications_resource_handler_1.NotificationsResourceHandler.singleton(this, {
role: this.handlerRole,
});
const managed = this.bucket instanceof bucket_1.Bucket;
if (!managed) {
handler.role.addToPolicy(new iam.PolicyStatement({
handler.addToRolePolicy(new iam.PolicyStatement({
actions: ['s3:GetBucketNotification'],

@@ -143,2 +146,2 @@ resources: ['*'],

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWNhdGlvbnMtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUNyQyxzQ0FBOEU7QUFDOUUsZ0RBQW1HO0FBQ25HLHFGQUFnRjtBQUVoRixpR0FBaUc7QUFDakcsOERBQThEO0FBQzlELHdDQUEwQztBQVMxQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsZ0JBQVM7SUFPaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUEYsd0JBQW1CLEdBQUcsSUFBSSxLQUFLLEVBQStCLENBQUM7UUFDL0QsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFNcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0tBQzVCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FBQyxLQUFnQixFQUFFLE1BQXNDLEVBQUUsR0FBRyxPQUFnQztRQUNsSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzQyxrRkFBa0Y7UUFDbEYsaURBQWlEO1FBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLFlBQVksR0FBd0I7WUFDeEMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsTUFBTSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUM7U0FDL0IsQ0FBQztRQUVGLDZFQUE2RTtRQUM3RSx3RkFBd0Y7UUFDeEYsMkRBQTJEO1FBQzNELElBQUksV0FBVyxD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LE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztJQUM5QyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXRCLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDaEY7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7YUFDMUU7WUFDRCxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDM0QsU0FBUyxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksU0FBUyxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQzthQUMxRTtZQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUMzRCxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ2xCO0tBQ0Y7SUFFRCxPQUFPO1FBQ0wsR0FBRyxFQUFFO1lBQ0gsV0FBVyxFQUFFLGFBQWE7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IElCdWNrZXQsIEV2ZW50VHlwZSwgTm90aWZpY2F0aW9uS2V5RmlsdGVyLCBCdWNrZXQgfSBmcm9tICcuLi9idWNrZXQnO1xuaW1wb3J0IHsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLCBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gfSBmcm9tICcuLi9kZXN0aW5hdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zLXJlc291cmNlLWhhbmRsZXInO1xuXG4vLyBrZWVwIHRoaXMgaW1wb3J0IHNlcGFyYXRlIGZyb20gb3RoZXIgaW1wb3J0cyB0byByZWR1Y2UgY2hhbmNlIGZvciBtZXJnZSBjb25mbGljdHMgd2l0aCB2Mi1tYWluXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLWltcG9ydHMsIGltcG9ydC9vcmRlclxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCB0byBtYW5hZ2Ugbm90aWZpY2F0aW9ucyBmb3IuXG4gICAqL1xuICBidWNrZXQ6IElCdWNrZXQ7XG59XG5cbi8qKlxuICogQSBjdXN0b20gQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdGhhdCB1cGRhdGVzIGJ1Y2tldCBub3RpZmljYXRpb25zIGZvciBhXG4gKiBidWNrZXQuIFRoZSByZWFzb24gd2UgbmVlZCBpdCBpcyBiZWNhdXNlIHRoZSBBV1M6OlMzOjpCdWNrZXQgbm90aWZpY2F0aW9uXG4gKiBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQgb24gdGhlIGJ1Y2tldCBpdHNlbGYsIHdoaWNoIG1ha2VzIGl0IGltcG9zc2libGUgdG9cbiAqIHByb3Zpc2lvbiBub3RpZmljYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIHRhcmdldCAoc2luY2VcbiAqIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbnMgdmFsaWRhdGVzIHRoZSB0YXJnZXRzKS5cbiAqXG4gKiBTaW5jZSBvbmx5IGEgc2luZ2xlIEJ1Y2tldE5vdGlmaWNhdGlvbnMgcmVzb3VyY2UgaXMgYWxsb3dlZCBmb3IgZWFjaCBCdWNrZXQsXG4gKiB0aGlzIGNvbnN0cnVjdCBpcyBub3QgZXhwb3J0ZWQgaW4gdGhlIHB1YmxpYyBBUEkgb2YgdGhpcyBtb2R1bGUuIEluc3RlYWQsIGl0XG4gKiBpcyBjcmVhdGVkIGp1c3QtaW4tdGltZSBieSBgczMuQnVja2V0Lm9uRXZlbnRgLCBzbyBhIDE6MSByZWxhdGlvbnNoaXAgaXNcbiAqIGVuc3VyZWQuXG4gKlxuICogQHNlZVxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtczMtYnVja2V0LW5vdGlmaWNhdGlvbmNvbmZpZy5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWNrZXROb3RpZmljYXRpb25zIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFOb3RpZmljYXRpb25zID0gbmV3IEFycmF5PExhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZU5vdGlmaWNhdGlvbnMgPSBuZXcgQXJyYXk8UXVldWVDb25maWd1cmF0aW9uPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvcGljTm90aWZpY2F0aW9ucyA9IG5ldyBBcnJheTxUb3BpY0NvbmZpZ3VyYXRpb24+KCk7XG4gIHByaXZhdGUgcmVzb3VyY2U/OiBjZGsuQ2ZuUmVzb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOb3RpZmljYXRpb25zUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuYnVja2V0ID0gcHJvcHMuYnVja2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIGZvciB0aGlzIGJ1Y2tldC5cbiAgICogSWYgdGhpcyBpcyB0aGUgZmlyc3Qgbm90aWZpY2F0aW9uLCBhIEJ1Y2tldE5vdGlmaWNhdGlvbiByZXNvdXJjZSBpcyBhZGRlZCB0byB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBUaGUgdHlwZSBvZiBldmVudFxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgY29uc3RydWN0XG4gICAqIEBwYXJhbSBmaWx0ZXJzIEEgc2V0IG9mIFMzIGtleSBmaWx0ZXJzXG4gICAqL1xuICBwdWJsaWMgYWRkTm90aWZpY2F0aW9uKGV2ZW50OiBFdmVudFR5cGUsIHRhcmdldDogSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLCAuLi5maWx0ZXJzOiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXSkge1xuICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5jcmVhdGVSZXNvdXJjZU9uY2UoKTtcblxuICAgIC8vIHJlc29sdmUgdGFyZ2V0LiB0aGlzIGFsc28gcHJvdmlkZXMgYW4gb3Bwb3J0dW5pdHkgZm9yIHRoZSB0YXJnZXQgdG8gZS5nLiB1cGRhdGVcbiAgICAvLyBwb2xpY2llcyB0byBhbGxvdyB0aGlzIG5vdGlmaWNhdGlvbiB0byBoYXBwZW4uXG4gICAgY29uc3QgdGFyZ2V0UHJvcHMgPSB0YXJnZXQuYmluZCh0aGlzLCB0aGlzLmJ1Y2tldCk7XG4gICAgY29uc3QgY29tbW9uQ29uZmlnOiBDb21tb25Db25maWd1cmF0aW9uID0ge1xuICAgICAgRXZlbnRzOiBbZXZlbnRdLFxuICAgICAgRmlsdGVyOiByZW5kZXJGaWx0ZXJzKGZpbHRlcnMpLFxuICAgIH07XG5cbiAgICAvLyBpZiB0aGUgdGFyZ2V0IHNwZWNpZmllcyBhbnkgZGVwZW5kZW5jaWVzLCBhZGQgdGhlbSB0byB0aGUgY3VzdG9tIHJlc291cmNlLlxuICAgIC8vIGZvciBleGFtcGxlLCB0aGUgU05TIHRvcGljIHBvbGljeSBtdXN0IGJlIGNyZWF0ZWQgL2JlZm9yZS8gdGhlIG5vdGlmaWNhdGlvbiByZXNvdXJjZS5cbiAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgIGlmICh0YXJnZXRQcm9wcy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSguLi50YXJnZXRQcm9wcy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cblxuICAgIC8vIGJhc2VkIG9uIHRoZSB0YXJnZXQgdHlwZSwgYWRkIHRoZSB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9ucyBhcnJheVxuICAgIHN3aXRjaCAodGFyZ2V0UHJvcHMudHlwZSkge1xuICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTEFNQkRBOlxuICAgICAgICB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMucHVzaCh7IC4uLmNvbW1vbkNvbmZpZywgTGFtYmRhRnVuY3Rpb25Bcm46IHRhcmdldFByb3BzLmFybiB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlFVRVVFOlxuICAgICAgICB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5wdXNoKHsgLi4uY29tbW9uQ29uZmlnLCBRdWV1ZUFybjogdGFyZ2V0UHJvcHMuYXJuIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuVE9QSUM6XG4gICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG5vdGlmaWNhdGlvbiB0YXJnZXQgdHlwZTonICsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlW3RhcmdldFByb3BzLnR5cGVdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlck5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oKTogTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIExhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbnM6IHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwID8gdGhpcy5sYW1iZGFOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgUXVldWVDb25maWd1cmF0aW9uczogdGhpcy5xdWV1ZU5vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMucXVldWVOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgVG9waWNDb25maWd1cmF0aW9uczogdGhpcy50b3BpY05vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMudG9waWNOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgYnVja2V0IG5vdGlmaWNhdGlvbnMgcmVzb3VyY2VzIGluIHRoZSBzdGFjayBvbmx5IG9uY2UuXG4gICAqIFRoaXMgaXMgY2FsbGVkIGxhemlseSBhcyB3ZSBhZGQgbm90aWZpY2F0aW9ucywgc28gdGhhdCBpZiBub3RpZmljYXRpb25zIGFyZSBub3QgYWRkZWQsXG4gICAqIHRoZXJlIGlzIG5vIG5vdGlmaWNhdGlvbnMgcmVzb3VyY2UuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVJlc291cmNlT25jZSgpIHtcbiAgICBpZiAoIXRoaXMucmVzb3VyY2UpIHtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyLnNpbmdsZXRvbih0aGlzKTtcblxuICAgICAgY29uc3QgbWFuYWdlZCA9IHRoaXMuYnVja2V0IGluc3RhbmNlb2YgQnVja2V0O1xuXG4gICAgICBpZiAoIW1hbmFnZWQpIHtcbiAgICAgICAgaGFuZGxlci5yb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbJ3MzOkdldEJ1Y2tldE5vdGlmaWNhdGlvbiddLFxuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIH0pKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgICB0eXBlOiAnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgU2VydmljZVRva2VuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgICAgIEJ1Y2tldE5hbWU6IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy5yZW5kZXJOb3RpZmljYXRpb25Db25maWd1cmF0aW9uKCkgfSksXG4gICAgICAgICAgTWFuYWdlZDogbWFuYWdlZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc291cmNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlckZpbHRlcnMoZmlsdGVycz86IE5vdGlmaWNhdGlvbktleUZpbHRlcltdKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHJlbmRlcmVkUnVsZXMgPSBuZXcgQXJyYXk8RmlsdGVyUnVsZT4oKTtcbiAgbGV0IGhhc1ByZWZpeCA9IGZhbHNlO1xuICBsZXQgaGFzU3VmZml4ID0gZmFsc2U7XG5cbiAgZm9yIChjb25zdCBydWxlIG9mIGZpbHRlcnMpIHtcbiAgICBpZiAoIXJ1bGUuc3VmZml4ICYmICFydWxlLnByZWZpeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3RpZmljYXRpb25LZXlGaWx0ZXIgbXVzdCBzcGVjaWZ5IGBwcmVmaXhgIGFuZC9vciBgc3VmZml4YCcpO1xuICAgIH1cblxuICAgIGlmIChydWxlLnN1ZmZpeCkge1xuICAgICAgaWYgKGhhc1N1ZmZpeCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgc3VmZml4IHJ1bGUgaW4gYSBmaWx0ZXIuJyk7XG4gICAgICB9XG4gICAgICByZW5kZXJlZFJ1bGVzLnB1c2goeyBOYW1lOiAnc3VmZml4JywgVmFsdWU6IHJ1bGUuc3VmZml4IH0pO1xuICAgICAgaGFzU3VmZml4ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocnVsZS5wcmVmaXgpIHtcbiAgICAgIGlmIChoYXNQcmVmaXgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBtb3JlIHRoYW4gb25lIHByZWZpeCBydWxlIGluIGEgZmlsdGVyLicpO1xuICAgICAgfVxuICAgICAgcmVuZGVyZWRSdWxlcy5wdXNoKHsgTmFtZTogJ3ByZWZpeCcsIFZhbHVlOiBydWxlLnByZWZpeCB9KTtcbiAgICAgIGhhc1ByZWZpeCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBLZXk6IHtcbiAgICAgIEZpbHRlclJ1bGVzOiByZW5kZXJlZFJ1bGVzLFxuICAgIH0sXG4gIH07XG59XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIHtcbiAgTGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbltdO1xuICBRdWV1ZUNvbmZpZ3VyYXRpb25zPzogUXVldWVDb25maWd1cmF0aW9uW107XG4gIFRvcGljQ29uZmlndXJhdGlvbnM/OiBUb3BpY0NvbmZpZ3VyYXRpb25bXTtcbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICBJZD86IHN0cmluZztcbiAgRXZlbnRzOiBFdmVudFR5cGVbXTtcbiAgRmlsdGVyPzogRmlsdGVyXG59XG5cbmludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBDb21tb25Db25maWd1cmF0aW9uIHtcbiAgTGFtYmRhRnVuY3Rpb25Bcm46IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFF1ZXVlQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICBRdWV1ZUFybjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVG9waWNDb25maWd1cmF0aW9uIGV4dGVuZHMgQ29tbW9uQ29uZmlndXJhdGlvbiB7XG4gIFRvcGljQXJuOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGaWx0ZXJSdWxlIHtcbiAgTmFtZTogJ3ByZWZpeCcgfCAnc3VmZml4JztcbiAgVmFsdWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZpbHRlciB7XG4gIEtleTogeyBGaWx0ZXJSdWxlczogRmlsdGVyUnVsZVtdIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWNhdGlvbnMtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUNyQyxzQ0FBOEU7QUFDOUUsZ0RBQW1HO0FBQ25HLHFGQUFnRjtBQUVoRixpR0FBaUc7QUFDakcsOERBQThEO0FBQzlELHdDQUEwQztBQWMxQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsZ0JBQVM7SUFRaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUkYsd0JBQW1CLEdBQUcsSUFBSSxLQUFLLEVBQStCLENBQUM7UUFDL0QsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFPcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUN0QztJQUVEOzs7Ozs7O09BT0c7SUFDSSxlQUFlLENBQUMsS0FBZ0IsRUFBRSxNQUFzQyxFQUFFLEdBQUcsT0FBZ0M7UUFDbEgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFM0Msa0ZBQWtGO1FBQ2xGLGlEQUFpRDtRQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQXdCO1lBQ3hDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLE1BQU0sRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDO1NBQy9CLENBQUM7UUFFRiw2RUFB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IElCdWNrZXQsIEV2ZW50VHlwZSwgTm90aWZpY2F0aW9uS2V5RmlsdGVyLCBCdWNrZXQgfSBmcm9tICcuLi9idWNrZXQnO1xuaW1wb3J0IHsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLCBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gfSBmcm9tICcuLi9kZXN0aW5hdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zLXJlc291cmNlLWhhbmRsZXInO1xuXG4vLyBrZWVwIHRoaXMgaW1wb3J0IHNlcGFyYXRlIGZyb20gb3RoZXIgaW1wb3J0cyB0byByZWR1Y2UgY2hhbmNlIGZvciBtZXJnZSBjb25mbGljdHMgd2l0aCB2Mi1tYWluXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLWltcG9ydHMsIGltcG9ydC9vcmRlclxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCB0byBtYW5hZ2Ugbm90aWZpY2F0aW9ucyBmb3IuXG4gICAqL1xuICBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRvIGJlIHVzZWQgYnkgdGhlIGxhbWJkYSBoYW5kbGVyXG4gICAqL1xuICBoYW5kbGVyUm9sZT86IGlhbS5JUm9sZTtcbn1cblxuLyoqXG4gKiBBIGN1c3RvbSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0aGF0IHVwZGF0ZXMgYnVja2V0IG5vdGlmaWNhdGlvbnMgZm9yIGFcbiAqIGJ1Y2tldC4gVGhlIHJlYXNvbiB3ZSBuZWVkIGl0IGlzIGJlY2F1c2UgdGhlIEFXUzo6UzM6OkJ1Y2tldCBub3RpZmljYXRpb25cbiAqIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBvbiB0aGUgYnVja2V0IGl0c2VsZiwgd2hpY2ggbWFrZXMgaXQgaW1wb3NzaWJsZSB0b1xuICogcHJvdmlzaW9uIG5vdGlmaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgdGFyZ2V0IChzaW5jZVxuICogUHV0QnVja2V0Tm90aWZpY2F0aW9ucyB2YWxpZGF0ZXMgdGhlIHRhcmdldHMpLlxuICpcbiAqIFNpbmNlIG9ubHkgYSBzaW5nbGUgQnVja2V0Tm90aWZpY2F0aW9ucyByZXNvdXJjZSBpcyBhbGxvd2VkIGZvciBlYWNoIEJ1Y2tldCxcbiAqIHRoaXMgY29uc3RydWN0IGlzIG5vdCBleHBvcnRlZCBpbiB0aGUgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZS4gSW5zdGVhZCwgaXRcbiAqIGlzIGNyZWF0ZWQganVzdC1pbi10aW1lIGJ5IGBzMy5CdWNrZXQub25FdmVudGAsIHNvIGEgMToxIHJlbGF0aW9uc2hpcCBpc1xuICogZW5zdXJlZC5cbiAqXG4gKiBAc2VlXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zMy1idWNrZXQtbm90aWZpY2F0aW9uY29uZmlnLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYU5vdGlmaWNhdGlvbnMgPSBuZXcgQXJyYXk8TGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9uPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlTm90aWZpY2F0aW9ucyA9IG5ldyBBcnJheTxRdWV1ZUNvbmZpZ3VyYXRpb24+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID0gbmV3IEFycmF5PFRvcGljQ29uZmlndXJhdGlvbj4oKTtcbiAgcHJpdmF0ZSByZXNvdXJjZT86IGNkay5DZm5SZXNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlclJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vdGlmaWNhdGlvbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQ7XG4gICAgdGhpcy5oYW5kbGVyUm9sZSA9IHByb3BzLmhhbmRsZXJSb2xlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIGZvciB0aGlzIGJ1Y2tldC5cbiAgICogSWYgdGhpcyBpcyB0aGUgZmlyc3Qgbm90aWZpY2F0aW9uLCBhIEJ1Y2tldE5vdGlmaWNhdGlvbiByZXNvdXJjZSBpcyBhZGRlZCB0byB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBUaGUgdHlwZSBvZiBldmVudFxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgY29uc3RydWN0XG4gICAqIEBwYXJhbSBmaWx0ZXJzIEEgc2V0IG9mIFMzIGtleSBmaWx0ZXJzXG4gICAqL1xuICBwdWJsaWMgYWRkTm90aWZpY2F0aW9uKGV2ZW50OiBFdmVudFR5cGUsIHRhcmdldDogSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLCAuLi5maWx0ZXJzOiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXSkge1xuICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5jcmVhdGVSZXNvdXJjZU9uY2UoKTtcblxuICAgIC8vIHJlc29sdmUgdGFyZ2V0LiB0aGlzIGFsc28gcHJvdmlkZXMgYW4gb3Bwb3J0dW5pdHkgZm9yIHRoZSB0YXJnZXQgdG8gZS5nLiB1cGRhdGVcbiAgICAvLyBwb2xpY2llcyB0byBhbGxvdyB0aGlzIG5vdGlmaWNhdGlvbiB0byBoYXBwZW4uXG4gICAgY29uc3QgdGFyZ2V0UHJvcHMgPSB0YXJnZXQuYmluZCh0aGlzLCB0aGlzLmJ1Y2tldCk7XG4gICAgY29uc3QgY29tbW9uQ29uZmlnOiBDb21tb25Db25maWd1cmF0aW9uID0ge1xuICAgICAgRXZlbnRzOiBbZXZlbnRdLFxuICAgICAgRmlsdGVyOiByZW5kZXJGaWx0ZXJzKGZpbHRlcnMpLFxuICAgIH07XG5cbiAgICAvLyBpZiB0aGUgdGFyZ2V0IHNwZWNpZmllcyBhbnkgZGVwZW5kZW5jaWVzLCBhZGQgdGhlbSB0byB0aGUgY3VzdG9tIHJlc291cmNlLlxuICAgIC8vIGZvciBleGFtcGxlLCB0aGUgU05TIHRvcGljIHBvbGljeSBtdXN0IGJlIGNyZWF0ZWQgL2JlZm9yZS8gdGhlIG5vdGlmaWNhdGlvbiByZXNvdXJjZS5cbiAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgIGlmICh0YXJnZXRQcm9wcy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeSguLi50YXJnZXRQcm9wcy5kZXBlbmRlbmNpZXMpO1xuICAgIH1cblxuICAgIC8vIGJhc2VkIG9uIHRoZSB0YXJnZXQgdHlwZSwgYWRkIHRoZSB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9ucyBhcnJheVxuICAgIHN3aXRjaCAodGFyZ2V0UHJvcHMudHlwZSkge1xuICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTEFNQkRBOlxuICAgICAgICB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMucHVzaCh7IC4uLmNvbW1vbkNvbmZpZywgTGFtYmRhRnVuY3Rpb25Bcm46IHRhcmdldFByb3BzLmFybiB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlFVRVVFOlxuICAgICAgICB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5wdXNoKHsgLi4uY29tbW9uQ29uZmlnLCBRdWV1ZUFybjogdGFyZ2V0UHJvcHMuYXJuIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuVE9QSUM6XG4gICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG5vdGlmaWNhdGlvbiB0YXJnZXQgdHlwZTonICsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlW3RhcmdldFByb3BzLnR5cGVdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlck5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oKTogTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIExhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbnM6IHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwID8gdGhpcy5sYW1iZGFOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgUXVldWVDb25maWd1cmF0aW9uczogdGhpcy5xdWV1ZU5vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMucXVldWVOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgVG9waWNDb25maWd1cmF0aW9uczogdGhpcy50b3BpY05vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMudG9waWNOb3RpZmljYXRpb25zIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgYnVja2V0IG5vdGlmaWNhdGlvbnMgcmVzb3VyY2VzIGluIHRoZSBzdGFjayBvbmx5IG9uY2UuXG4gICAqIFRoaXMgaXMgY2FsbGVkIGxhemlseSBhcyB3ZSBhZGQgbm90aWZpY2F0aW9ucywgc28gdGhhdCBpZiBub3RpZmljYXRpb25zIGFyZSBub3QgYWRkZWQsXG4gICAqIHRoZXJlIGlzIG5vIG5vdGlmaWNhdGlvbnMgcmVzb3VyY2UuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVJlc291cmNlT25jZSgpIHtcbiAgICBpZiAoIXRoaXMucmVzb3VyY2UpIHtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBOb3RpZmljYXRpb25zUmVzb3VyY2VIYW5kbGVyLnNpbmdsZXRvbih0aGlzLCB7XG4gICAgICAgIHJvbGU6IHRoaXMuaGFuZGxlclJvbGUsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbWFuYWdlZCA9IHRoaXMuYnVja2V0IGluc3RhbmNlb2YgQnVja2V0O1xuXG4gICAgICBpZiAoIW1hbmFnZWQpIHtcbiAgICAgICAgaGFuZGxlci5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0QnVja2V0Tm90aWZpY2F0aW9uJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICAgIHR5cGU6ICdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBTZXJ2aWNlVG9rZW46IGhhbmRsZXIuZnVuY3Rpb25Bcm4sXG4gICAgICAgICAgQnVja2V0TmFtZTogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBjZGsuTGF6eS5hbnkoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnJlbmRlck5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oKSB9KSxcbiAgICAgICAgICBNYW5hZ2VkOiBtYW5hZ2VkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyRmlsdGVycyhmaWx0ZXJzPzogTm90aWZpY2F0aW9uS2V5RmlsdGVyW10pOiBGaWx0ZXIgfCB1bmRlZmluZWQge1xuICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVuZGVyZWRSdWxlcyA9IG5ldyBBcnJheTxGaWx0ZXJSdWxlPigpO1xuICBsZXQgaGFzUHJlZml4ID0gZmFsc2U7XG4gIGxldCBoYXNTdWZmaXggPSBmYWxzZTtcblxuICBmb3IgKGNvbnN0IHJ1bGUgb2YgZmlsdGVycykge1xuICAgIGlmICghcnVsZS5zdWZmaXggJiYgIXJ1bGUucHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlmaWNhdGlvbktleUZpbHRlciBtdXN0IHNwZWNpZnkgYHByZWZpeGAgYW5kL29yIGBzdWZmaXhgJyk7XG4gICAgfVxuXG4gICAgaWYgKHJ1bGUuc3VmZml4KSB7XG4gICAgICBpZiAoaGFzU3VmZml4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBzdWZmaXggcnVsZSBpbiBhIGZpbHRlci4nKTtcbiAgICAgIH1cbiAgICAgIHJlbmRlcmVkUnVsZXMucHVzaCh7IE5hbWU6ICdzdWZmaXgnLCBWYWx1ZTogcnVsZS5zdWZmaXggfSk7XG4gICAgICBoYXNTdWZmaXggPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChydWxlLnByZWZpeCkge1xuICAgICAgaWYgKGhhc1ByZWZpeCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgcHJlZml4IHJ1bGUgaW4gYSBmaWx0ZXIuJyk7XG4gICAgICB9XG4gICAgICByZW5kZXJlZFJ1bGVzLnB1c2goeyBOYW1lOiAncHJlZml4JywgVmFsdWU6IHJ1bGUucHJlZml4IH0pO1xuICAgICAgaGFzUHJlZml4ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIEtleToge1xuICAgICAgRmlsdGVyUnVsZXM6IHJlbmRlcmVkUnVsZXMsXG4gICAgfSxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb25zPzogTGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9uW107XG4gIFF1ZXVlQ29uZmlndXJhdGlvbnM/OiBRdWV1ZUNvbmZpZ3VyYXRpb25bXTtcbiAgVG9waWNDb25maWd1cmF0aW9ucz86IFRvcGljQ29uZmlndXJhdGlvbltdO1xufVxuXG5pbnRlcmZhY2UgQ29tbW9uQ29uZmlndXJhdGlvbiB7XG4gIElkPzogc3RyaW5nO1xuICBFdmVudHM6IEV2ZW50VHlwZVtdO1xuICBGaWx0ZXI/OiBGaWx0ZXJcbn1cblxuaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICBMYW1iZGFGdW5jdGlvbkFybjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUXVldWVDb25maWd1cmF0aW9uIGV4dGVuZHMgQ29tbW9uQ29uZmlndXJhdGlvbiB7XG4gIFF1ZXVlQXJuOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBUb3BpY0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBDb21tb25Db25maWd1cmF0aW9uIHtcbiAgVG9waWNBcm46IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZpbHRlclJ1bGUge1xuICBOYW1lOiAncHJlZml4JyB8ICdzdWZmaXgnO1xuICBWYWx1ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmlsdGVyIHtcbiAgS2V5OiB7IEZpbHRlclJ1bGVzOiBGaWx0ZXJSdWxlW10gfVxufVxuIl19

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

's3:PutObject',
's3:PutObjectLegalHold',
's3:PutObjectRetention',
's3:PutObjectTagging',
's3:PutObjectVersionTagging',
's3:Abort*',

@@ -24,2 +28,3 @@ ];

's3:PutObjectAcl',
's3:PutObjectVersionAcl',
];

@@ -39,2 +44,2 @@ exports.BUCKET_DELETE_ACTIONS = [

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwZXJtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLGVBQWU7SUFDZixlQUFlO0lBQ2YsVUFBVTtDQUNYLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHO0lBQzFDLGVBQWU7SUFDZixVQUFVO0NBQ1gsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQUc7SUFDdkMsZUFBZTtJQUNmLFdBQVc7Q0FDWixDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxjQUFjO0lBQ2QsV0FBVztDQUNaLENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHO0lBQ3BDLGlCQUFpQjtDQUNsQixDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxrQkFBa0I7Q0FDbkIsQ0FBQztBQUVXLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsYUFBYTtJQUNiLGlCQUFpQjtDQUNsQixDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixhQUFhO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBCVUNLRVRfUkVBRF9BQ1RJT05TID0gW1xuICAnczM6R2V0T2JqZWN0KicsXG4gICdzMzpHZXRCdWNrZXQqJyxcbiAgJ3MzOkxpc3QqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBCVUNLRVRfUkVBRF9NRVRBREFUQV9BQ1RJT05TID0gW1xuICAnczM6R2V0QnVja2V0KicsXG4gICdzMzpMaXN0KicsXG5dO1xuXG5leHBvcnQgY29uc3QgTEVHQUNZX0JVQ0tFVF9QVVRfQUNUSU9OUyA9IFtcbiAgJ3MzOlB1dE9iamVjdConLFxuICAnczM6QWJvcnQqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBCVUNLRVRfUFVUX0FDVElPTlMgPSBbXG4gICdzMzpQdXRPYmplY3QnLFxuICAnczM6QWJvcnQqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBCVUNLRVRfUFVUX0FDTF9BQ1RJT05TID0gW1xuICAnczM6UHV0T2JqZWN0QWNsJyxcbl07XG5cbmV4cG9ydCBjb25zdCBCVUNLRVRfREVMRVRFX0FDVElPTlMgPSBbXG4gICdzMzpEZWxldGVPYmplY3QqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBLRVlfUkVBRF9BQ1RJT05TID0gW1xuICAna21zOkRlY3J5cHQnLFxuICAna21zOkRlc2NyaWJlS2V5Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBLRVlfV1JJVEVfQUNUSU9OUyA9IFtcbiAgJ2ttczpFbmNyeXB0JyxcbiAgJ2ttczpSZUVuY3J5cHQqJyxcbiAgJ2ttczpHZW5lcmF0ZURhdGFLZXkqJyxcbiAgJ2ttczpEZWNyeXB0JywgLy8gcmVxdWlyZWQgZm9yIG11bHRpcGFydCB1cGxvYWRzLiBSZWZlciBodHRwczovL2F3cy5hbWF6b24uY29tL3ByZW1pdW1zdXBwb3J0L2tub3dsZWRnZS1jZW50ZXIvczMtbXVsdGlwYXJ0LWttcy1kZWNyeXB0L1xuXTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwZXJtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLGVBQWU7SUFDZixlQUFlO0lBQ2YsVUFBVTtDQUNYLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHO0lBQzFDLGVBQWU7SUFDZixVQUFVO0NBQ1gsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQUc7SUFDdkMsZUFBZTtJQUNmLFdBQVc7Q0FDWixDQUFDO0FBRVcsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxjQUFjO0lBQ2QsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsNEJBQTRCO0lBQzVCLFdBQVc7Q0FDWixDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxpQkFBaUI7SUFDakIsd0JBQXdCO0NBQ3pCLENBQUM7QUFFVyxRQUFBLHFCQUFxQixHQUFHO0lBQ25DLGtCQUFrQjtDQUNuQixDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixhQUFhO0lBQ2IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFVyxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLGFBQWE7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJVQ0tFVF9SRUFEX0FDVElPTlMgPSBbXG4gICdzMzpHZXRPYmplY3QqJyxcbiAgJ3MzOkdldEJ1Y2tldConLFxuICAnczM6TGlzdConLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJVQ0tFVF9SRUFEX01FVEFEQVRBX0FDVElPTlMgPSBbXG4gICdzMzpHZXRCdWNrZXQqJyxcbiAgJ3MzOkxpc3QqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBMRUdBQ1lfQlVDS0VUX1BVVF9BQ1RJT05TID0gW1xuICAnczM6UHV0T2JqZWN0KicsXG4gICdzMzpBYm9ydConLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJVQ0tFVF9QVVRfQUNUSU9OUyA9IFtcbiAgJ3MzOlB1dE9iamVjdCcsXG4gICdzMzpQdXRPYmplY3RMZWdhbEhvbGQnLFxuICAnczM6UHV0T2JqZWN0UmV0ZW50aW9uJyxcbiAgJ3MzOlB1dE9iamVjdFRhZ2dpbmcnLFxuICAnczM6UHV0T2JqZWN0VmVyc2lvblRhZ2dpbmcnLFxuICAnczM6QWJvcnQqJyxcbl07XG5cbmV4cG9ydCBjb25zdCBCVUNLRVRfUFVUX0FDTF9BQ1RJT05TID0gW1xuICAnczM6UHV0T2JqZWN0QWNsJyxcbiAgJ3MzOlB1dE9iamVjdFZlcnNpb25BY2wnLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJVQ0tFVF9ERUxFVEVfQUNUSU9OUyA9IFtcbiAgJ3MzOkRlbGV0ZU9iamVjdConLFxuXTtcblxuZXhwb3J0IGNvbnN0IEtFWV9SRUFEX0FDVElPTlMgPSBbXG4gICdrbXM6RGVjcnlwdCcsXG4gICdrbXM6RGVzY3JpYmVLZXknLFxuXTtcblxuZXhwb3J0IGNvbnN0IEtFWV9XUklURV9BQ1RJT05TID0gW1xuICAna21zOkVuY3J5cHQnLFxuICAna21zOlJlRW5jcnlwdConLFxuICAna21zOkdlbmVyYXRlRGF0YUtleSonLFxuICAna21zOkRlY3J5cHQnLCAvLyByZXF1aXJlZCBmb3IgbXVsdGlwYXJ0IHVwbG9hZHMuIFJlZmVyIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vcHJlbWl1bXN1cHBvcnQva25vd2xlZGdlLWNlbnRlci9zMy1tdWx0aXBhcnQta21zLWRlY3J5cHQvXG5dO1xuIl19

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

_a = JSII_RTTI_SYMBOL_1;
StorageClass[_a] = { fqn: "@aws-cdk/aws-s3.StorageClass", version: "1.140.0" };
StorageClass[_a] = { fqn: "@aws-cdk/aws-s3.StorageClass", version: "1.141.0" };
/**

@@ -28,0 +28,0 @@ * Storage class for data that is accessed less frequently, but requires rapid access when needed.

{
"name": "@aws-cdk/aws-s3",
"version": "1.140.0",
"version": "1.141.0",
"description": "The CDK Construct Library for AWS::S3",

@@ -82,8 +82,8 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assertions": "1.140.0",
"@aws-cdk/cdk-build-tools": "1.140.0",
"@aws-cdk/cdk-integ-tools": "1.140.0",
"@aws-cdk/cfn2ts": "1.140.0",
"@aws-cdk/pkglint": "1.140.0",
"@types/aws-lambda": "^8.10.90",
"@aws-cdk/assertions": "1.141.0",
"@aws-cdk/cdk-build-tools": "1.141.0",
"@aws-cdk/cdk-integ-tools": "1.141.0",
"@aws-cdk/cfn2ts": "1.141.0",
"@aws-cdk/pkglint": "1.141.0",
"@types/aws-lambda": "^8.10.92",
"@types/jest": "^27.4.0",

@@ -93,7 +93,7 @@ "jest": "^27.4.7"

"dependencies": {
"@aws-cdk/aws-events": "1.140.0",
"@aws-cdk/aws-iam": "1.140.0",
"@aws-cdk/aws-kms": "1.140.0",
"@aws-cdk/core": "1.140.0",
"@aws-cdk/cx-api": "1.140.0",
"@aws-cdk/aws-events": "1.141.0",
"@aws-cdk/aws-iam": "1.141.0",
"@aws-cdk/aws-kms": "1.141.0",
"@aws-cdk/core": "1.141.0",
"@aws-cdk/cx-api": "1.141.0",
"constructs": "^3.3.69"

@@ -103,7 +103,7 @@ },

"peerDependencies": {
"@aws-cdk/aws-events": "1.140.0",
"@aws-cdk/aws-iam": "1.140.0",
"@aws-cdk/aws-kms": "1.140.0",
"@aws-cdk/core": "1.140.0",
"@aws-cdk/cx-api": "1.140.0",
"@aws-cdk/aws-events": "1.141.0",
"@aws-cdk/aws-iam": "1.141.0",
"@aws-cdk/aws-kms": "1.141.0",
"@aws-cdk/core": "1.141.0",
"@aws-cdk/cx-api": "1.141.0",
"constructs": "^3.3.69"

@@ -110,0 +110,0 @@ },

@@ -252,2 +252,29 @@ # Amazon S3 Construct Library

When you add an event notification to a bucket, a custom resource is created to
manage the notifications. By default, a new role is created for the Lambda
function that implements this feature. If you want to use your own role instead,
you should provide it in the `Bucket` constructor:
```ts
declare const myRole: iam.IRole;
const bucket = new s3.Bucket(this, 'MyBucket', {
notificationsHandlerRole: myRole,
});
```
Whatever role you provide, the CDK will try to modify it by adding the
permissions from `AWSLambdaBasicExecutionRole` (an AWS managed policy) as well
as the permissions `s3:PutBucketNotification` and `s3:GetBucketNotification`.
If you’re passing an imported role, and you don’t want this to happen, configure
it to be immutable:
```ts
const importedRole = iam.Role.fromRoleArn(this, 'role', 'arn:aws:iam::123456789012:role/RoleName', {
mutable: false,
});
```
> If you provide an imported immutable role, make sure that it has at least all
> the permissions mentioned above. Otherwise, the deployment will fail!
[S3 Bucket Notifications]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

@@ -254,0 +281,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc