@aws-cdk/aws-applicationautoscaling
Advanced tools
Comparing version 0.25.3 to 0.26.0
import cdk = require('@aws-cdk/cdk'); | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html | ||
* Properties for defining a `AWS::ApplicationAutoScaling::ScalableTarget` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html | ||
*/ | ||
export interface CfnScalableTargetProps { | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.MaxCapacity`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-maxcapacity | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.MaxCapacity` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-maxcapacity | ||
*/ | ||
maxCapacity: number | cdk.Token; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.MinCapacity`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-mincapacity | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.MinCapacity` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-mincapacity | ||
*/ | ||
minCapacity: number | cdk.Token; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.ResourceId`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-resourceid | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.ResourceId` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-resourceid | ||
*/ | ||
resourceId: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.RoleARN`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-rolearn | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.RoleARN` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-rolearn | ||
*/ | ||
roleArn: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.ScalableDimension`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scalabledimension | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.ScalableDimension` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scalabledimension | ||
*/ | ||
scalableDimension: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.ServiceNamespace`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-servicenamespace | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.ServiceNamespace` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-servicenamespace | ||
*/ | ||
serviceNamespace: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalableTarget.ScheduledActions`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scheduledactions | ||
* `AWS::ApplicationAutoScaling::ScalableTarget.ScheduledActions` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scheduledactions | ||
*/ | ||
@@ -43,5 +44,8 @@ scheduledActions?: Array<CfnScalableTarget.ScheduledActionProperty | cdk.Token> | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html | ||
* A CloudFormation `AWS::ApplicationAutoScaling::ScalableTarget` | ||
* | ||
* @cloudformationResource AWS::ApplicationAutoScaling::ScalableTarget | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html | ||
*/ | ||
export declare class CfnScalableTarget extends cdk.Resource { | ||
export declare class CfnScalableTarget extends cdk.CfnResource { | ||
/** | ||
@@ -53,7 +57,7 @@ * The CloudFormation resource type name for this resource class. | ||
/** | ||
* Creates a new ``AWS::ApplicationAutoScaling::ScalableTarget``. | ||
* Create a new `AWS::ApplicationAutoScaling::ScalableTarget`. | ||
* | ||
* @param scope scope in which this resource is defined | ||
* @param id scoped id of the resource | ||
* @param props resource properties | ||
* @param scope - scope in which this resource is defined | ||
* @param id - scoped id of the resource | ||
* @param props - resource properties | ||
*/ | ||
@@ -68,13 +72,13 @@ constructor(scope: cdk.Construct, id: string, props: CfnScalableTargetProps); | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html | ||
*/ | ||
interface ScalableTargetActionProperty { | ||
/** | ||
* ``CfnScalableTarget.ScalableTargetActionProperty.MaxCapacity`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-maxcapacity | ||
* `CfnScalableTarget.ScalableTargetActionProperty.MaxCapacity` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-maxcapacity | ||
*/ | ||
maxCapacity?: number | cdk.Token; | ||
/** | ||
* ``CfnScalableTarget.ScalableTargetActionProperty.MinCapacity`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-mincapacity | ||
* `CfnScalableTarget.ScalableTargetActionProperty.MinCapacity` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-mincapacity | ||
*/ | ||
@@ -86,28 +90,28 @@ minCapacity?: number | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html | ||
*/ | ||
interface ScheduledActionProperty { | ||
/** | ||
* ``CfnScalableTarget.ScheduledActionProperty.EndTime`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime | ||
* `CfnScalableTarget.ScheduledActionProperty.EndTime` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime | ||
*/ | ||
endTime?: Date | cdk.Token; | ||
/** | ||
* ``CfnScalableTarget.ScheduledActionProperty.ScalableTargetAction`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scalabletargetaction | ||
* `CfnScalableTarget.ScheduledActionProperty.ScalableTargetAction` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scalabletargetaction | ||
*/ | ||
scalableTargetAction?: CfnScalableTarget.ScalableTargetActionProperty | cdk.Token; | ||
/** | ||
* ``CfnScalableTarget.ScheduledActionProperty.Schedule`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-schedule | ||
* `CfnScalableTarget.ScheduledActionProperty.Schedule` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-schedule | ||
*/ | ||
schedule: string; | ||
/** | ||
* ``CfnScalableTarget.ScheduledActionProperty.ScheduledActionName`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scheduledactionname | ||
* `CfnScalableTarget.ScheduledActionProperty.ScheduledActionName` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scheduledactionname | ||
*/ | ||
scheduledActionName: string; | ||
/** | ||
* ``CfnScalableTarget.ScheduledActionProperty.StartTime`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime | ||
* `CfnScalableTarget.ScheduledActionProperty.StartTime` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime | ||
*/ | ||
@@ -118,43 +122,44 @@ startTime?: Date | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html | ||
* Properties for defining a `AWS::ApplicationAutoScaling::ScalingPolicy` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html | ||
*/ | ||
export interface CfnScalingPolicyProps { | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.PolicyName`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policyname | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.PolicyName` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policyname | ||
*/ | ||
policyName: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.PolicyType`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policytype | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.PolicyType` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policytype | ||
*/ | ||
policyType: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.ResourceId`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-resourceid | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.ResourceId` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-resourceid | ||
*/ | ||
resourceId?: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.ScalableDimension`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalabledimension | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.ScalableDimension` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalabledimension | ||
*/ | ||
scalableDimension?: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.ScalingTargetId`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalingtargetid | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.ScalingTargetId` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalingtargetid | ||
*/ | ||
scalingTargetId?: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.ServiceNamespace`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-servicenamespace | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.ServiceNamespace` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-servicenamespace | ||
*/ | ||
serviceNamespace?: string; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration | ||
*/ | ||
stepScalingPolicyConfiguration?: CfnScalingPolicy.StepScalingPolicyConfigurationProperty | cdk.Token; | ||
/** | ||
* ``AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration | ||
* `AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration | ||
*/ | ||
@@ -164,5 +169,8 @@ targetTrackingScalingPolicyConfiguration?: CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html | ||
* A CloudFormation `AWS::ApplicationAutoScaling::ScalingPolicy` | ||
* | ||
* @cloudformationResource AWS::ApplicationAutoScaling::ScalingPolicy | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html | ||
*/ | ||
export declare class CfnScalingPolicy extends cdk.Resource { | ||
export declare class CfnScalingPolicy extends cdk.CfnResource { | ||
/** | ||
@@ -174,7 +182,7 @@ * The CloudFormation resource type name for this resource class. | ||
/** | ||
* Creates a new ``AWS::ApplicationAutoScaling::ScalingPolicy``. | ||
* Create a new `AWS::ApplicationAutoScaling::ScalingPolicy`. | ||
* | ||
* @param scope scope in which this resource is defined | ||
* @param id scoped id of the resource | ||
* @param props resource properties | ||
* @param scope - scope in which this resource is defined | ||
* @param id - scoped id of the resource | ||
* @param props - resource properties | ||
*/ | ||
@@ -189,28 +197,28 @@ constructor(scope: cdk.Construct, id: string, props: CfnScalingPolicyProps); | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html | ||
*/ | ||
interface CustomizedMetricSpecificationProperty { | ||
/** | ||
* ``CfnScalingPolicy.CustomizedMetricSpecificationProperty.Dimensions`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-dimensions | ||
* `CfnScalingPolicy.CustomizedMetricSpecificationProperty.Dimensions` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-dimensions | ||
*/ | ||
dimensions?: Array<CfnScalingPolicy.MetricDimensionProperty | cdk.Token> | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.CustomizedMetricSpecificationProperty.MetricName`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metricname | ||
* `CfnScalingPolicy.CustomizedMetricSpecificationProperty.MetricName` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metricname | ||
*/ | ||
metricName: string; | ||
/** | ||
* ``CfnScalingPolicy.CustomizedMetricSpecificationProperty.Namespace`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-namespace | ||
* `CfnScalingPolicy.CustomizedMetricSpecificationProperty.Namespace` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-namespace | ||
*/ | ||
namespace: string; | ||
/** | ||
* ``CfnScalingPolicy.CustomizedMetricSpecificationProperty.Statistic`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-statistic | ||
* `CfnScalingPolicy.CustomizedMetricSpecificationProperty.Statistic` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-statistic | ||
*/ | ||
statistic: string; | ||
/** | ||
* ``CfnScalingPolicy.CustomizedMetricSpecificationProperty.Unit`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-unit | ||
* `CfnScalingPolicy.CustomizedMetricSpecificationProperty.Unit` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-unit | ||
*/ | ||
@@ -222,13 +230,13 @@ unit?: string; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html | ||
*/ | ||
interface MetricDimensionProperty { | ||
/** | ||
* ``CfnScalingPolicy.MetricDimensionProperty.Name`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-name | ||
* `CfnScalingPolicy.MetricDimensionProperty.Name` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-name | ||
*/ | ||
name: string; | ||
/** | ||
* ``CfnScalingPolicy.MetricDimensionProperty.Value`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-value | ||
* `CfnScalingPolicy.MetricDimensionProperty.Value` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-value | ||
*/ | ||
@@ -240,13 +248,13 @@ value: string; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html | ||
*/ | ||
interface PredefinedMetricSpecificationProperty { | ||
/** | ||
* ``CfnScalingPolicy.PredefinedMetricSpecificationProperty.PredefinedMetricType`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype | ||
* `CfnScalingPolicy.PredefinedMetricSpecificationProperty.PredefinedMetricType` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype | ||
*/ | ||
predefinedMetricType: string; | ||
/** | ||
* ``CfnScalingPolicy.PredefinedMetricSpecificationProperty.ResourceLabel`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel | ||
* `CfnScalingPolicy.PredefinedMetricSpecificationProperty.ResourceLabel` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel | ||
*/ | ||
@@ -258,18 +266,18 @@ resourceLabel?: string; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html | ||
*/ | ||
interface StepAdjustmentProperty { | ||
/** | ||
* ``CfnScalingPolicy.StepAdjustmentProperty.MetricIntervalLowerBound`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervallowerbound | ||
* `CfnScalingPolicy.StepAdjustmentProperty.MetricIntervalLowerBound` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervallowerbound | ||
*/ | ||
metricIntervalLowerBound?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.StepAdjustmentProperty.MetricIntervalUpperBound`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervalupperbound | ||
* `CfnScalingPolicy.StepAdjustmentProperty.MetricIntervalUpperBound` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervalupperbound | ||
*/ | ||
metricIntervalUpperBound?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.StepAdjustmentProperty.ScalingAdjustment`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-scalingadjustment | ||
* `CfnScalingPolicy.StepAdjustmentProperty.ScalingAdjustment` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-scalingadjustment | ||
*/ | ||
@@ -281,28 +289,28 @@ scalingAdjustment: number | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html | ||
*/ | ||
interface StepScalingPolicyConfigurationProperty { | ||
/** | ||
* ``CfnScalingPolicy.StepScalingPolicyConfigurationProperty.AdjustmentType`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-adjustmenttype | ||
* `CfnScalingPolicy.StepScalingPolicyConfigurationProperty.AdjustmentType` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-adjustmenttype | ||
*/ | ||
adjustmentType?: string; | ||
/** | ||
* ``CfnScalingPolicy.StepScalingPolicyConfigurationProperty.Cooldown`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-cooldown | ||
* `CfnScalingPolicy.StepScalingPolicyConfigurationProperty.Cooldown` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-cooldown | ||
*/ | ||
cooldown?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.StepScalingPolicyConfigurationProperty.MetricAggregationType`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-metricaggregationtype | ||
* `CfnScalingPolicy.StepScalingPolicyConfigurationProperty.MetricAggregationType` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-metricaggregationtype | ||
*/ | ||
metricAggregationType?: string; | ||
/** | ||
* ``CfnScalingPolicy.StepScalingPolicyConfigurationProperty.MinAdjustmentMagnitude`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-minadjustmentmagnitude | ||
* `CfnScalingPolicy.StepScalingPolicyConfigurationProperty.MinAdjustmentMagnitude` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-minadjustmentmagnitude | ||
*/ | ||
minAdjustmentMagnitude?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.StepScalingPolicyConfigurationProperty.StepAdjustments`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustments | ||
* `CfnScalingPolicy.StepScalingPolicyConfigurationProperty.StepAdjustments` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustments | ||
*/ | ||
@@ -314,33 +322,33 @@ stepAdjustments?: Array<CfnScalingPolicy.StepAdjustmentProperty | cdk.Token> | cdk.Token; | ||
/** | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html | ||
*/ | ||
interface TargetTrackingScalingPolicyConfigurationProperty { | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.CustomizedMetricSpecification`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-customizedmetricspecification | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.CustomizedMetricSpecification` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-customizedmetricspecification | ||
*/ | ||
customizedMetricSpecification?: CfnScalingPolicy.CustomizedMetricSpecificationProperty | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.DisableScaleIn`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-disablescalein | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.DisableScaleIn` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-disablescalein | ||
*/ | ||
disableScaleIn?: boolean | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.PredefinedMetricSpecification`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-predefinedmetricspecification | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.PredefinedMetricSpecification` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-predefinedmetricspecification | ||
*/ | ||
predefinedMetricSpecification?: CfnScalingPolicy.PredefinedMetricSpecificationProperty | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.ScaleInCooldown`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleincooldown | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.ScaleInCooldown` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleincooldown | ||
*/ | ||
scaleInCooldown?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.ScaleOutCooldown`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleoutcooldown | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.ScaleOutCooldown` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleoutcooldown | ||
*/ | ||
scaleOutCooldown?: number | cdk.Token; | ||
/** | ||
* ``CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.TargetValue`` | ||
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-targetvalue | ||
* `CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty.TargetValue` | ||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-targetvalue | ||
*/ | ||
@@ -347,0 +355,0 @@ targetValue: number | cdk.Token; |
{ | ||
"name": "@aws-cdk/aws-applicationautoscaling", | ||
"version": "0.25.3", | ||
"version": "0.26.0", | ||
"description": "The CDK Construct Library for AWS::ApplicationAutoScaling", | ||
@@ -57,19 +57,19 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@aws-cdk/assert": "^0.25.3", | ||
"cdk-build-tools": "^0.25.3", | ||
"cfn2ts": "^0.25.3", | ||
"@aws-cdk/assert": "^0.26.0", | ||
"cdk-build-tools": "^0.26.0", | ||
"cfn2ts": "^0.26.0", | ||
"fast-check": "^1.7.0", | ||
"pkglint": "^0.25.3" | ||
"pkglint": "^0.26.0" | ||
}, | ||
"dependencies": { | ||
"@aws-cdk/aws-autoscaling-common": "^0.25.3", | ||
"@aws-cdk/aws-cloudwatch": "^0.25.3", | ||
"@aws-cdk/aws-iam": "^0.25.3", | ||
"@aws-cdk/cdk": "^0.25.3" | ||
"@aws-cdk/aws-autoscaling-common": "^0.26.0", | ||
"@aws-cdk/aws-cloudwatch": "^0.26.0", | ||
"@aws-cdk/aws-iam": "^0.26.0", | ||
"@aws-cdk/cdk": "^0.26.0" | ||
}, | ||
"homepage": "https://github.com/awslabs/aws-cdk", | ||
"peerDependencies": { | ||
"@aws-cdk/aws-cloudwatch": "^0.25.3", | ||
"@aws-cdk/aws-iam": "^0.25.3", | ||
"@aws-cdk/cdk": "^0.25.3" | ||
"@aws-cdk/aws-cloudwatch": "^0.26.0", | ||
"@aws-cdk/aws-iam": "^0.26.0", | ||
"@aws-cdk/cdk": "^0.26.0" | ||
}, | ||
@@ -76,0 +76,0 @@ "engines": { |
@@ -17,3 +17,3 @@ "use strict"; | ||
}); | ||
return new ScalingStackTemplate(stack.toCloudFormation()); | ||
return new ScalingStackTemplate(stack._toCloudFormation()); | ||
} | ||
@@ -168,2 +168,2 @@ class ScalingStackTemplate { | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zdGVwLXNjYWxpbmctcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5zdGVwLXNjYWxpbmctcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzREFBdUQ7QUFDdkQsb0NBQXFDO0FBQ3JDLGlDQUFrQztBQUdsQyxpQ0FBbUQ7QUFDbkQsaUNBQThDO0FBaUg5Qzs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsU0FBdUM7SUFDL0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsTUFBTSxNQUFNLEdBQUcsMkJBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFM0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7UUFDcEMsTUFBTSxFQUFFLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzNFLFlBQVksRUFBRSxTQUFTO0tBQ3hCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLG9CQUFvQjtJQU14QixZQUE2QixRQUFhO1FBQWIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUwxQixnQkFBVyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztJQUdyRSxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FB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Q0FBQztZQUU1QixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRixDQUFDLENBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xvdWR3YXRjaCA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgZmMgPSByZXF1aXJlKCdmYXN0LWNoZWNrJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IGFwcHNjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcbmltcG9ydCB7IGFyYml0cmFyeV9pbnB1dF9pbnRlcnZhbHMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlU2NhbGFibGVUYXJnZXQgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgPSB7XG4gICdhbGFybSB0aHJlc2hvbGRzIGFyZSB2YWxpZCBudW1iZXJzJyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2lucHV0X2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNldHVwU3RlcFNjYWxpbmcoaW50ZXJ2YWxzKTtcblxuICAgICAgICBjb25zdCBsb3dlclRocmVzaG9sZCA9IHRlbXBsYXRlLmxvd2VyVGhyZXNob2xkO1xuICAgICAgICBjb25zdCB1cHBlclRocmVzaG9sZCA9IHRlbXBsYXRlLnVwcGVyVGhyZXNob2xkO1xuXG4gICAgICAgIHJldHVybiByZXBvcnRGYWxzZShcbiAgICAgICAgICAobG93ZXJUaHJlc2hvbGQgPT09IHVuZGVmaW5lZCB8fCAobG93ZXJUaHJlc2hvbGQgPiAwICYmIGxvd2VyVGhyZXNob2xkICE9PSBJbmZpbml0eSkpXG4gICAgICAgICAgJiYgKHVwcGVyVGhyZXNob2xkID09PSB1bmRlZmluZWQgfHwgKHVwcGVyVGhyZXNob2xkID4gMCAmJiB1cHBlclRocmVzaG9sZCAhPT0gSW5maW5pdHkpKSxcbiAgICAgICAgICBsb3dlclRocmVzaG9sZCxcbiAgICAgICAgICB1cHBlclRocmVzaG9sZCk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZ2VuZXJhdGVkIHN0ZXAgaW50ZXJ2YWxzIGFyZSB2YWxpZCBpbnRlcnZhbHMnKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBzdGVwcyA9IHRlbXBsYXRlLmFsbFN0ZXBzQWJzb2x1dGUoKTtcblxuICAgICAgICByZXR1cm4gcmVwb3J0RmFsc2Uoc3RlcHMuZXZlcnkoc3RlcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kISA8IHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kITtcbiAgICAgICAgfSksIHN0ZXBzLCAndGVtcGxhdGUnLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSwgdW5kZWZpbmVkLCAyKSk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZ2VuZXJhdGVkIHN0ZXAgaW50ZXJ2YWxzIGFyZSBub25vdmVybGFwcGluZycodGVzdDogVGVzdCkge1xuICAgIGZjLmFzc2VydChmYy5wcm9wZXJ0eShcbiAgICAgIGFyYml0cmFyeV9pbnB1dF9pbnRlcnZhbHMoKSxcbiAgICAgIChpbnRlcnZhbHMpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBzZXR1cFN0ZXBTY2FsaW5nKGludGVydmFscyk7XG4gICAgICAgIGNvbnN0IHN0ZXBzID0gdGVtcGxhdGUuYWxsU3RlcHNBYnNvbHV0ZSgpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBjb21wYXJlVG8gPSBzdGVwcy5zbGljZShpICsgMSk7XG4gICAgICAgICAgaWYgKGNvbXBhcmVUby5zb21lKHggPT4gb3ZlcmxhcHMoc3RlcHNbaV0sIHgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGZhbHNlLCBzdGVwcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgKSwgeyB2ZXJib3NlOiB0cnVlIH0pO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FsbCB0ZW1wbGF0ZSBpbnRlcnZhbHMgb2NjdXIgaW4gaW5wdXQgYXJyYXknKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBzdGVwcyA9IHRlbXBsYXRlLmFsbFN0ZXBzQWJzb2x1dGUoKTtcblxuICAgICAgICByZXR1cm4gc3RlcHMuZXZlcnkoc3RlcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGludGVydmFscy5maW5kKGludGVydmFsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdGFibGVMb3dlckJvdW5kcyA9IHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kID09PSAtSW5maW5pdHkgPyBbdW5kZWZpbmVkLCAwXSA6IFt1bmRlZmluZWQsIHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kXTtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdGFibGVVcHBlckJvdW5kcyA9IHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kID09PSBJbmZpbml0eSA/IFt1bmRlZmluZWQsIEluZmluaXR5XSA6IFt1bmRlZmluZWQsIHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kXTtcblxuICAgICAgICAgICAgcmV0dXJuIChhY2NlcHRhYmxlTG93ZXJCb3VuZHMuaW5jbHVkZXMoaW50ZXJ2YWwubG93ZXIpICYmIGFjY2VwdGFibGVVcHBlckJvdW5kcy5pbmNsdWRlcyhpbnRlcnZhbC51cHBlcikpO1xuICAgICAgICAgIH0pICE9PSB1bmRlZmluZWQsIHN0ZXAsIGludGVydmFscyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2xvd2VyIGFsYXJtIHVzZXMgbG93ZXIgcG9saWN5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2lucHV0X2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNldHVwU3RlcFNjYWxpbmcoaW50ZXJ2YWxzKTtcbiAgICAgICAgY29uc3QgYWxhcm0gPSB0ZW1wbGF0ZS5yZXNvdXJjZSh0ZW1wbGF0ZS5sb3dlckFsYXJtKTtcbiAgICAgICAgZmMucHJlKGFsYXJtICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiByZXBvcnRGYWxzZShhbGFybS5Qcm9wZXJ0aWVzLkFsYXJtQWN0aW9uc1swXS5SZWYgPT09IHRlbXBsYXRlLmxvd2VyUG9saWN5LCBhbGFybSk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndXBwZXIgYWxhcm0gdXNlcyB1cHBlciBwb2xpY3knKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBhbGFybSA9IHRlbXBsYXRlLnJlc291cmNlKHRlbXBsYXRlLnVwcGVyQWxhcm0pO1xuICAgICAgICBmYy5wcmUoYWxhcm0gIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGFsYXJtLlByb3BlcnRpZXMuQWxhcm1BY3Rpb25zWzBdLlJlZiA9PT0gdGVtcGxhdGUudXBwZXJQb2xpY3ksIGFsYXJtKTtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxufTtcblxuLyoqXG4gKiBTeW50aGVzaXplIHRoZSBnaXZlbiBzdGVwIHNjYWxpbmcgc2V0dXAgdG8gYSB0ZW1wbGF0ZVxuICovXG5mdW5jdGlvbiBzZXR1cFN0ZXBTY2FsaW5nKGludGVydmFsczogYXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgdGFyZ2V0ID0gY3JlYXRlU2NhbGFibGVUYXJnZXQoc3RhY2spO1xuXG4gIHRhcmdldC5zY2FsZU9uTWV0cmljKCdTY2FsZUludGVydmFsJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHsgbmFtZXNwYWNlOiAnVGVzdCcsIG1ldHJpY05hbWU6ICdTdWNjZXNzJyB9KSxcbiAgICBzY2FsaW5nU3RlcHM6IGludGVydmFsc1xuICB9KTtcblxuICByZXR1cm4gbmV3IFNjYWxpbmdTdGFja1RlbXBsYXRlKHN0YWNrLnRvQ2xvdWRGb3JtYXRpb24oKSk7XG59XG5cbmNsYXNzIFNjYWxpbmdTdGFja1RlbXBsYXRlIHtcbiAgcHVibGljIHJlYWRvbmx5IGxvd2VyUG9saWN5ID0gJ1RhcmdldFNjYWxlSW50ZXJ2YWxMb3dlclBvbGljeTZGMjZENTk3JztcbiAgcHVibGljIHJlYWRvbmx5IGxvd2VyQWxhcm0gPSAnVGFyZ2V0U2NhbGVJbnRlcnZhbExvd2VyQWxhcm00QjVDRTg2OSc7XG4gIHB1YmxpYyByZWFkb25seSB1cHBlclBvbGljeSA9ICdUYXJnZXRTY2FsZUludGVydmFsVXBwZXJQb2xpY3k3Qzc1MTEzMic7XG4gIHB1YmxpYyByZWFkb25seSB1cHBlckFsYXJtID0gJ1RhcmdldFNjYWxlSW50ZXJ2YWxVcHBlckFsYXJtNjlGRDFCQkInO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGU6IGFueSkge1xuICB9XG5cbiAgcHVibGljIGdldCBsb3dlclRocmVzaG9sZCgpIHtcbiAgICByZXR1cm4gdGhpcy50aHJlc2hvbGQodGhpcy5sb3dlckFsYXJtKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBwZXJUaHJlc2hvbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGhyZXNob2xkKHRoaXMudXBwZXJBbGFybSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvd2VyU3RlcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHModGhpcy5sb3dlclBvbGljeSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwcGVyU3RlcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHModGhpcy51cHBlclBvbGljeSk7XG4gIH1cblxuICBwdWJsaWMgYWxsU3RlcHNBYnNvbHV0ZSgpIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8VGVtcGxhdGVTdGVwPigpO1xuICAgIGNvbnN0IGxvd2VyVGhyZXNob2xkID0gdGhpcy5sb3dlclRocmVzaG9sZDtcbiAgICBpZiAobG93ZXJUaHJlc2hvbGQgIT09IHVuZGVmaW5lZCkgeyByZXQucHVzaCguLi50aGlzLmxvd2VyU3RlcHMhLm1hcCh4ID0+IG1ha2VBYnNvbHV0ZShsb3dlclRocmVzaG9sZCwgeCkpKTsgfVxuXG4gICAgY29uc3QgdXBwZXJUaHJlc2hvbGQgPSB0aGlzLnVwcGVyVGhyZXNob2xkO1xuICAgIGlmICh1cHBlclRocmVzaG9sZCAhPT0gdW5kZWZpbmVkKSB7IHJldC5wdXNoKC4uLnRoaXMudXBwZXJTdGVwcyEubWFwKHggPT4gbWFrZUFic29sdXRlKHVwcGVyVGhyZXNob2xkLCB4KSkpOyB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHVibGljIHJlc291cmNlKGlkOiBzdHJpbmcpOiBvYmplY3QgfCBhbnkge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlLlJlc291cmNlc1tpZF07XG4gIH1cblxuICBwcml2YXRlIHRocmVzaG9sZChpZDogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkICB7XG4gICAgcmV0dXJuIGFwcGx5KHRoaXMucmVzb3VyY2UoaWQpLCB4ID0+IHguUHJvcGVydGllcy5UaHJlc2hvbGQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGVwcyhpZDogc3RyaW5nKTogVGVtcGxhdGVTdGVwW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBhcHBseSh0aGlzLnJlc291cmNlKGlkKSwgeCA9PiB4LlByb3BlcnRpZXMuU3RlcFNjYWxpbmdQb2xpY3lDb25maWd1cmF0aW9uLlN0ZXBBZGp1c3RtZW50cyk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlU3RlcCB7XG4gIE1ldHJpY0ludGVydmFsTG93ZXJCb3VuZD86IG51bWJlcjtcbiAgTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kPzogbnVtYmVyO1xuICBTY2FsaW5nQWRqdXN0bWVudDogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBtYWtlQWJzb2x1dGUodGhyZXNob2xkOiBudW1iZXIsIHN0ZXA6IFRlbXBsYXRlU3RlcCkge1xuICByZXR1cm4gY29uY3JldGUoe1xuICAgIE1ldHJpY0ludGVydmFsTG93ZXJCb3VuZDogYXBwbHkoc3RlcC5NZXRyaWNJbnRlcnZhbExvd2VyQm91bmQsIHggPT4geCArIHRocmVzaG9sZCksXG4gICAgTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kOiBhcHBseShzdGVwLk1ldHJpY0ludGVydmFsVXBwZXJCb3VuZCwgeCA9PiB4ICsgdGhyZXNob2xkKSxcbiAgICBTY2FsaW5nQWRqdXN0bWVudDogc3RlcC5TY2FsaW5nQWRqdXN0bWVudFxuICB9KTtcbn1cblxuZnVuY3Rpb24gb3ZlcmxhcHMoYTogVGVtcGxhdGVTdGVwLCBiOiBUZW1wbGF0ZVN0ZXApIHtcbiAgcmV0dXJuIChhLk1ldHJpY0ludGVydmFsTG93ZXJCb3VuZCEgPCBiLk1ldHJpY0ludGVydmFsVXBwZXJCb3VuZCFcbiAgICAmJiBhLk1ldHJpY0ludGVydmFsVXBwZXJCb3VuZCEgPiBiLk1ldHJpY0ludGVydmFsTG93ZXJCb3VuZCEpO1xufVxuXG5mdW5jdGlvbiBjb25jcmV0ZShzdGVwOiBUZW1wbGF0ZVN0ZXApIHtcbiAgcmV0dXJuIHtcbiAgICBNZXRyaWNJbnRlcnZhbExvd2VyQm91bmQ6IGlmVW5kZWZpbmVkKHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kLCAtSW5maW5pdHkpLFxuICAgIE1ldHJpY0ludGVydmFsVXBwZXJCb3VuZDogaWZVbmRlZmluZWQoc3RlcC5NZXRyaWNJbnRlcnZhbFVwcGVyQm91bmQsIEluZmluaXR5KSxcbiAgICBTY2FsaW5nQWRqdXN0bWVudDogc3RlcC5TY2FsaW5nQWRqdXN0bWVudFxuICB9O1xufVxuXG5mdW5jdGlvbiBpZlVuZGVmaW5lZDxUPih4OiBUIHwgdW5kZWZpbmVkLCBkZWY6IFQpOiBUIHtcbiAgcmV0dXJuIHggIT09IHVuZGVmaW5lZCA/IHggOiBkZWY7XG59XG5cbmZ1bmN0aW9uIGFwcGx5PFQsIFU+KHg6IFQgfCB1bmRlZmluZWQsIGY6ICh4OiBUKSA9PiBVIHwgdW5kZWZpbmVkKTogVSB8IHVuZGVmaW5lZCB7XG4gIGlmICh4ID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICByZXR1cm4gZih4KTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gcHJpbnQgdmFyaWFibGVzIGluIGNhc2Ugb2YgYSBmYWlsaW5nIHByb3BlcnR5IGNoZWNrXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydEZhbHNlKGNvbmQ6IGJvb2xlYW4sIC4uLnJlcHI6IGFueVtdKSB7XG4gIGlmICghY29uZCkge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcignUFJPUEVSVFkgRkFJTFMgT046JywgLi4ucmVwcik7XG4gIH1cbiAgcmV0dXJuIGNvbmQ7XG59Il19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zdGVwLXNjYWxpbmctcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5zdGVwLXNjYWxpbmctcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzREFBdUQ7QUFDdkQsb0NBQXFDO0FBQ3JDLGlDQUFrQztBQUdsQyxpQ0FBbUQ7QUFDbkQsaUNBQThDO0FBaUg5Qzs7R0FFRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsU0FBdUM7SUFDL0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsTUFBTSxNQUFNLEdBQUcsMkJBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFM0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7UUFDcEMsTUFBTSxFQUFFLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzNFLFlBQVksRUFBRSxTQUFTO0tBQ3hCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLG9CQUFvQjtJQU14QixZQUE2QixRQUFhO1FBQWIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUwxQixnQkFBVyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3ZELGVBQVUsR0FBRyx1Q0FBdUMsQ0FBQztJQUdyRSxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztRQUN0QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQUU7UUFFOUcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUFFO1FBRTlHLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLFFBQVEsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVMsQ0FBQyxFQUFVO1FBQzFCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxLQUFLLENBQUMsRUFBVTtRQUN0QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRyxDQUFDO0NBQ0Y7QUFRRCxTQUFTLFlBQVksQ0FBQyxTQUFpQixFQUFFLElBQWtCO0lBQ3pELE9BQU8sUUFBUSxDQUFDO1FBQ2Qsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDbEYsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDbEYsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtLQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsQ0FBZSxFQUFFLENBQWU7SUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyx3QkFBeUIsR0FBRyxDQUFDLENBQUMsd0JBQXlCO1dBQzVELENBQUMsQ0FBQyx3QkFBeUIsR0FBRyxDQUFDLENBQUMsd0JBQXlCLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsSUFBa0I7SUFDbEMsT0FBTztRQUNMLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDL0Usd0JBQXdCLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUM7UUFDOUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtLQUMxQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFJLENBQWdCLEVBQUUsR0FBTTtJQUM5QyxPQUFPLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBTyxDQUFnQixFQUFFLENBQTBCO0lBQy9ELElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUFFLE9BQU8sU0FBUyxDQUFDO0tBQUU7SUFDMUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxJQUFhLEVBQUUsR0FBRyxJQUFXO0lBQ2hELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxzQ0FBc0M7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQzlDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBNU5ELGlCQUFTO0lBQ1Asb0NBQW9DLENBQUMsSUFBVTtRQUM3QyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ25CLGdDQUF5QixFQUFFLEVBQzNCLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU3QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQy9DLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFFL0MsT0FBTyxXQUFXLENBQ2hCLENBQUMsY0FBYyxLQUFLLFNBQVMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksY0FBYyxLQUFLLFFBQVEsQ0FBQyxDQUFDO21CQUNsRixDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLGNBQWMsS0FBSyxRQUFRLENBQUMsQ0FBQyxFQUN4RixjQUFjLEVBQ2QsY0FBYyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCw4Q0FBOEMsQ0FBQyxJQUFVO1FBQ3ZELEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FDbkIsZ0NBQXlCLEVBQUUsRUFDM0IsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNaLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRTFDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDLHdCQUF5QixHQUFHLElBQUksQ0FBQyx3QkFBeUIsQ0FBQztZQUN6RSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsNkNBQTZDLENBQUMsSUFBVTtRQUN0RCxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ25CLGdDQUF5QixFQUFFLEVBQzNCLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUUxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUNsQzthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQ0YsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCw2Q0FBNkMsQ0FBQyxJQUFVO1FBQ3RELEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FDbkIsZ0NBQXlCLEVBQUUsRUFDM0IsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNaLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRTFDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDM0MsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztvQkFDeEksMkNBQTJDO29CQUMzQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztvQkFFOUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM1RyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxJQUFVO1FBQ3hDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FDbkIsZ0NBQXlCLEVBQUUsRUFDM0IsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNaLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBRTVCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsK0JBQStCLENBQUMsSUFBVTtRQUN4QyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ25CLGdDQUF5QixFQUFFLEVBQzNCLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztZQUU1QixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRixDQUFDLENBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xvdWR3YXRjaCA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgZmMgPSByZXF1aXJlKCdmYXN0LWNoZWNrJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IGFwcHNjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcbmltcG9ydCB7IGFyYml0cmFyeV9pbnB1dF9pbnRlcnZhbHMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlU2NhbGFibGVUYXJnZXQgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgPSB7XG4gICdhbGFybSB0aHJlc2hvbGRzIGFyZSB2YWxpZCBudW1iZXJzJyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2lucHV0X2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNldHVwU3RlcFNjYWxpbmcoaW50ZXJ2YWxzKTtcblxuICAgICAgICBjb25zdCBsb3dlclRocmVzaG9sZCA9IHRlbXBsYXRlLmxvd2VyVGhyZXNob2xkO1xuICAgICAgICBjb25zdCB1cHBlclRocmVzaG9sZCA9IHRlbXBsYXRlLnVwcGVyVGhyZXNob2xkO1xuXG4gICAgICAgIHJldHVybiByZXBvcnRGYWxzZShcbiAgICAgICAgICAobG93ZXJUaHJlc2hvbGQgPT09IHVuZGVmaW5lZCB8fCAobG93ZXJUaHJlc2hvbGQgPiAwICYmIGxvd2VyVGhyZXNob2xkICE9PSBJbmZpbml0eSkpXG4gICAgICAgICAgJiYgKHVwcGVyVGhyZXNob2xkID09PSB1bmRlZmluZWQgfHwgKHVwcGVyVGhyZXNob2xkID4gMCAmJiB1cHBlclRocmVzaG9sZCAhPT0gSW5maW5pdHkpKSxcbiAgICAgICAgICBsb3dlclRocmVzaG9sZCxcbiAgICAgICAgICB1cHBlclRocmVzaG9sZCk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZ2VuZXJhdGVkIHN0ZXAgaW50ZXJ2YWxzIGFyZSB2YWxpZCBpbnRlcnZhbHMnKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBzdGVwcyA9IHRlbXBsYXRlLmFsbFN0ZXBzQWJzb2x1dGUoKTtcblxuICAgICAgICByZXR1cm4gcmVwb3J0RmFsc2Uoc3RlcHMuZXZlcnkoc3RlcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kISA8IHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kITtcbiAgICAgICAgfSksIHN0ZXBzLCAndGVtcGxhdGUnLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSwgdW5kZWZpbmVkLCAyKSk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZ2VuZXJhdGVkIHN0ZXAgaW50ZXJ2YWxzIGFyZSBub25vdmVybGFwcGluZycodGVzdDogVGVzdCkge1xuICAgIGZjLmFzc2VydChmYy5wcm9wZXJ0eShcbiAgICAgIGFyYml0cmFyeV9pbnB1dF9pbnRlcnZhbHMoKSxcbiAgICAgIChpbnRlcnZhbHMpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBzZXR1cFN0ZXBTY2FsaW5nKGludGVydmFscyk7XG4gICAgICAgIGNvbnN0IHN0ZXBzID0gdGVtcGxhdGUuYWxsU3RlcHNBYnNvbHV0ZSgpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBjb21wYXJlVG8gPSBzdGVwcy5zbGljZShpICsgMSk7XG4gICAgICAgICAgaWYgKGNvbXBhcmVUby5zb21lKHggPT4gb3ZlcmxhcHMoc3RlcHNbaV0sIHgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGZhbHNlLCBzdGVwcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgKSwgeyB2ZXJib3NlOiB0cnVlIH0pO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FsbCB0ZW1wbGF0ZSBpbnRlcnZhbHMgb2NjdXIgaW4gaW5wdXQgYXJyYXknKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBzdGVwcyA9IHRlbXBsYXRlLmFsbFN0ZXBzQWJzb2x1dGUoKTtcblxuICAgICAgICByZXR1cm4gc3RlcHMuZXZlcnkoc3RlcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGludGVydmFscy5maW5kKGludGVydmFsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdGFibGVMb3dlckJvdW5kcyA9IHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kID09PSAtSW5maW5pdHkgPyBbdW5kZWZpbmVkLCAwXSA6IFt1bmRlZmluZWQsIHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kXTtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICAgICAgICAgIGNvbnN0IGFjY2VwdGFibGVVcHBlckJvdW5kcyA9IHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kID09PSBJbmZpbml0eSA/IFt1bmRlZmluZWQsIEluZmluaXR5XSA6IFt1bmRlZmluZWQsIHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kXTtcblxuICAgICAgICAgICAgcmV0dXJuIChhY2NlcHRhYmxlTG93ZXJCb3VuZHMuaW5jbHVkZXMoaW50ZXJ2YWwubG93ZXIpICYmIGFjY2VwdGFibGVVcHBlckJvdW5kcy5pbmNsdWRlcyhpbnRlcnZhbC51cHBlcikpO1xuICAgICAgICAgIH0pICE9PSB1bmRlZmluZWQsIHN0ZXAsIGludGVydmFscyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2xvd2VyIGFsYXJtIHVzZXMgbG93ZXIgcG9saWN5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2lucHV0X2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNldHVwU3RlcFNjYWxpbmcoaW50ZXJ2YWxzKTtcbiAgICAgICAgY29uc3QgYWxhcm0gPSB0ZW1wbGF0ZS5yZXNvdXJjZSh0ZW1wbGF0ZS5sb3dlckFsYXJtKTtcbiAgICAgICAgZmMucHJlKGFsYXJtICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiByZXBvcnRGYWxzZShhbGFybS5Qcm9wZXJ0aWVzLkFsYXJtQWN0aW9uc1swXS5SZWYgPT09IHRlbXBsYXRlLmxvd2VyUG9saWN5LCBhbGFybSk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndXBwZXIgYWxhcm0gdXNlcyB1cHBlciBwb2xpY3knKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfaW5wdXRfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc2V0dXBTdGVwU2NhbGluZyhpbnRlcnZhbHMpO1xuICAgICAgICBjb25zdCBhbGFybSA9IHRlbXBsYXRlLnJlc291cmNlKHRlbXBsYXRlLnVwcGVyQWxhcm0pO1xuICAgICAgICBmYy5wcmUoYWxhcm0gIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIHJlcG9ydEZhbHNlKGFsYXJtLlByb3BlcnRpZXMuQWxhcm1BY3Rpb25zWzBdLlJlZiA9PT0gdGVtcGxhdGUudXBwZXJQb2xpY3ksIGFsYXJtKTtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxufTtcblxuLyoqXG4gKiBTeW50aGVzaXplIHRoZSBnaXZlbiBzdGVwIHNjYWxpbmcgc2V0dXAgdG8gYSB0ZW1wbGF0ZVxuICovXG5mdW5jdGlvbiBzZXR1cFN0ZXBTY2FsaW5nKGludGVydmFsczogYXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgdGFyZ2V0ID0gY3JlYXRlU2NhbGFibGVUYXJnZXQoc3RhY2spO1xuXG4gIHRhcmdldC5zY2FsZU9uTWV0cmljKCdTY2FsZUludGVydmFsJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHsgbmFtZXNwYWNlOiAnVGVzdCcsIG1ldHJpY05hbWU6ICdTdWNjZXNzJyB9KSxcbiAgICBzY2FsaW5nU3RlcHM6IGludGVydmFsc1xuICB9KTtcblxuICByZXR1cm4gbmV3IFNjYWxpbmdTdGFja1RlbXBsYXRlKHN0YWNrLl90b0Nsb3VkRm9ybWF0aW9uKCkpO1xufVxuXG5jbGFzcyBTY2FsaW5nU3RhY2tUZW1wbGF0ZSB7XG4gIHB1YmxpYyByZWFkb25seSBsb3dlclBvbGljeSA9ICdUYXJnZXRTY2FsZUludGVydmFsTG93ZXJQb2xpY3k2RjI2RDU5Nyc7XG4gIHB1YmxpYyByZWFkb25seSBsb3dlckFsYXJtID0gJ1RhcmdldFNjYWxlSW50ZXJ2YWxMb3dlckFsYXJtNEI1Q0U4NjknO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBwZXJQb2xpY3kgPSAnVGFyZ2V0U2NhbGVJbnRlcnZhbFVwcGVyUG9saWN5N0M3NTExMzInO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBwZXJBbGFybSA9ICdUYXJnZXRTY2FsZUludGVydmFsVXBwZXJBbGFybTY5RkQxQkJCJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlOiBhbnkpIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG93ZXJUaHJlc2hvbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGhyZXNob2xkKHRoaXMubG93ZXJBbGFybSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwcGVyVGhyZXNob2xkKCkge1xuICAgIHJldHVybiB0aGlzLnRocmVzaG9sZCh0aGlzLnVwcGVyQWxhcm0pO1xuICB9XG5cbiAgcHVibGljIGdldCBsb3dlclN0ZXBzKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBzKHRoaXMubG93ZXJQb2xpY3kpO1xuICB9XG5cbiAgcHVibGljIGdldCB1cHBlclN0ZXBzKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBzKHRoaXMudXBwZXJQb2xpY3kpO1xuICB9XG5cbiAgcHVibGljIGFsbFN0ZXBzQWJzb2x1dGUoKSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PFRlbXBsYXRlU3RlcD4oKTtcbiAgICBjb25zdCBsb3dlclRocmVzaG9sZCA9IHRoaXMubG93ZXJUaHJlc2hvbGQ7XG4gICAgaWYgKGxvd2VyVGhyZXNob2xkICE9PSB1bmRlZmluZWQpIHsgcmV0LnB1c2goLi4udGhpcy5sb3dlclN0ZXBzIS5tYXAoeCA9PiBtYWtlQWJzb2x1dGUobG93ZXJUaHJlc2hvbGQsIHgpKSk7IH1cblxuICAgIGNvbnN0IHVwcGVyVGhyZXNob2xkID0gdGhpcy51cHBlclRocmVzaG9sZDtcbiAgICBpZiAodXBwZXJUaHJlc2hvbGQgIT09IHVuZGVmaW5lZCkgeyByZXQucHVzaCguLi50aGlzLnVwcGVyU3RlcHMhLm1hcCh4ID0+IG1ha2VBYnNvbHV0ZSh1cHBlclRocmVzaG9sZCwgeCkpKTsgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHB1YmxpYyByZXNvdXJjZShpZDogc3RyaW5nKTogb2JqZWN0IHwgYW55IHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZS5SZXNvdXJjZXNbaWRdO1xuICB9XG5cbiAgcHJpdmF0ZSB0aHJlc2hvbGQoaWQ6IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCAge1xuICAgIHJldHVybiBhcHBseSh0aGlzLnJlc291cmNlKGlkKSwgeCA9PiB4LlByb3BlcnRpZXMuVGhyZXNob2xkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RlcHMoaWQ6IHN0cmluZyk6IFRlbXBsYXRlU3RlcFtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gYXBwbHkodGhpcy5yZXNvdXJjZShpZCksIHggPT4geC5Qcm9wZXJ0aWVzLlN0ZXBTY2FsaW5nUG9saWN5Q29uZmlndXJhdGlvbi5TdGVwQWRqdXN0bWVudHMpO1xuICB9XG59XG5cbmludGVyZmFjZSBUZW1wbGF0ZVN0ZXAge1xuICBNZXRyaWNJbnRlcnZhbExvd2VyQm91bmQ/OiBudW1iZXI7XG4gIE1ldHJpY0ludGVydmFsVXBwZXJCb3VuZD86IG51bWJlcjtcbiAgU2NhbGluZ0FkanVzdG1lbnQ6IG51bWJlcjtcbn1cblxuZnVuY3Rpb24gbWFrZUFic29sdXRlKHRocmVzaG9sZDogbnVtYmVyLCBzdGVwOiBUZW1wbGF0ZVN0ZXApIHtcbiAgcmV0dXJuIGNvbmNyZXRlKHtcbiAgICBNZXRyaWNJbnRlcnZhbExvd2VyQm91bmQ6IGFwcGx5KHN0ZXAuTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kLCB4ID0+IHggKyB0aHJlc2hvbGQpLFxuICAgIE1ldHJpY0ludGVydmFsVXBwZXJCb3VuZDogYXBwbHkoc3RlcC5NZXRyaWNJbnRlcnZhbFVwcGVyQm91bmQsIHggPT4geCArIHRocmVzaG9sZCksXG4gICAgU2NhbGluZ0FkanVzdG1lbnQ6IHN0ZXAuU2NhbGluZ0FkanVzdG1lbnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG92ZXJsYXBzKGE6IFRlbXBsYXRlU3RlcCwgYjogVGVtcGxhdGVTdGVwKSB7XG4gIHJldHVybiAoYS5NZXRyaWNJbnRlcnZhbExvd2VyQm91bmQhIDwgYi5NZXRyaWNJbnRlcnZhbFVwcGVyQm91bmQhXG4gICAgJiYgYS5NZXRyaWNJbnRlcnZhbFVwcGVyQm91bmQhID4gYi5NZXRyaWNJbnRlcnZhbExvd2VyQm91bmQhKTtcbn1cblxuZnVuY3Rpb24gY29uY3JldGUoc3RlcDogVGVtcGxhdGVTdGVwKSB7XG4gIHJldHVybiB7XG4gICAgTWV0cmljSW50ZXJ2YWxMb3dlckJvdW5kOiBpZlVuZGVmaW5lZChzdGVwLk1ldHJpY0ludGVydmFsTG93ZXJCb3VuZCwgLUluZmluaXR5KSxcbiAgICBNZXRyaWNJbnRlcnZhbFVwcGVyQm91bmQ6IGlmVW5kZWZpbmVkKHN0ZXAuTWV0cmljSW50ZXJ2YWxVcHBlckJvdW5kLCBJbmZpbml0eSksXG4gICAgU2NhbGluZ0FkanVzdG1lbnQ6IHN0ZXAuU2NhbGluZ0FkanVzdG1lbnRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaWZVbmRlZmluZWQ8VD4oeDogVCB8IHVuZGVmaW5lZCwgZGVmOiBUKTogVCB7XG4gIHJldHVybiB4ICE9PSB1bmRlZmluZWQgPyB4IDogZGVmO1xufVxuXG5mdW5jdGlvbiBhcHBseTxULCBVPih4OiBUIHwgdW5kZWZpbmVkLCBmOiAoeDogVCkgPT4gVSB8IHVuZGVmaW5lZCk6IFUgfCB1bmRlZmluZWQge1xuICBpZiAoeCA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgcmV0dXJuIGYoeCk7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHByaW50IHZhcmlhYmxlcyBpbiBjYXNlIG9mIGEgZmFpbGluZyBwcm9wZXJ0eSBjaGVja1xuICovXG5mdW5jdGlvbiByZXBvcnRGYWxzZShjb25kOiBib29sZWFuLCAuLi5yZXByOiBhbnlbXSkge1xuICBpZiAoIWNvbmQpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxuICAgIGNvbnNvbGUuZXJyb3IoJ1BST1BFUlRZIEZBSUxTIE9OOicsIC4uLnJlcHIpO1xuICB9XG4gIHJldHVybiBjb25kO1xufSJdfQ== |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
394582
2302
+ Added@aws-cdk/aws-autoscaling-common@0.26.0(transitive)
+ Added@aws-cdk/aws-cloudwatch@0.26.0(transitive)
+ Added@aws-cdk/aws-iam@0.26.0(transitive)
+ Added@aws-cdk/cdk@0.26.0(transitive)
+ Added@aws-cdk/cx-api@0.26.0(transitive)
+ Added@aws-cdk/region-info@0.26.0(transitive)
- Removed@aws-cdk/aws-autoscaling-common@0.25.3(transitive)
- Removed@aws-cdk/aws-cloudwatch@0.25.3(transitive)
- Removed@aws-cdk/aws-iam@0.25.3(transitive)
- Removed@aws-cdk/cdk@0.25.3(transitive)
- Removed@aws-cdk/cx-api@0.25.3(transitive)
Updated@aws-cdk/aws-iam@^0.26.0
Updated@aws-cdk/cdk@^0.26.0