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

@aws-cdk/aws-cognito

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-cognito - npm Package Compare versions

Comparing version 0.25.3 to 0.26.0

622

lib/cognito.generated.d.ts
import cdk = require('@aws-cdk/cdk');
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html
* Properties for defining a `AWS::Cognito::IdentityPool`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html
*/
export interface CfnIdentityPoolProps {
/**
* ``AWS::Cognito::IdentityPool.AllowUnauthenticatedIdentities``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities
* `AWS::Cognito::IdentityPool.AllowUnauthenticatedIdentities`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities
*/
allowUnauthenticatedIdentities: boolean | cdk.Token;
/**
* ``AWS::Cognito::IdentityPool.CognitoEvents``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoevents
* `AWS::Cognito::IdentityPool.CognitoEvents`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoevents
*/
cognitoEvents?: object | cdk.Token;
/**
* ``AWS::Cognito::IdentityPool.CognitoIdentityProviders``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoidentityproviders
* `AWS::Cognito::IdentityPool.CognitoIdentityProviders`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoidentityproviders
*/
cognitoIdentityProviders?: Array<CfnIdentityPool.CognitoIdentityProviderProperty | cdk.Token> | cdk.Token;
/**
* ``AWS::Cognito::IdentityPool.CognitoStreams``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitostreams
* `AWS::Cognito::IdentityPool.CognitoStreams`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitostreams
*/
cognitoStreams?: CfnIdentityPool.CognitoStreamsProperty | cdk.Token;
/**
* ``AWS::Cognito::IdentityPool.DeveloperProviderName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-developerprovidername
* `AWS::Cognito::IdentityPool.DeveloperProviderName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-developerprovidername
*/
developerProviderName?: string;
/**
* ``AWS::Cognito::IdentityPool.IdentityPoolName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypoolname
* `AWS::Cognito::IdentityPool.IdentityPoolName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypoolname
*/
identityPoolName?: string;
/**
* ``AWS::Cognito::IdentityPool.OpenIdConnectProviderARNs``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-openidconnectproviderarns
* `AWS::Cognito::IdentityPool.OpenIdConnectProviderARNs`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-openidconnectproviderarns
*/
openIdConnectProviderArns?: Array<string | cdk.Token> | cdk.Token;
openIdConnectProviderArns?: string[];
/**
* ``AWS::Cognito::IdentityPool.PushSync``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-pushsync
* `AWS::Cognito::IdentityPool.PushSync`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-pushsync
*/
pushSync?: CfnIdentityPool.PushSyncProperty | cdk.Token;
/**
* ``AWS::Cognito::IdentityPool.SamlProviderARNs``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-samlproviderarns
* `AWS::Cognito::IdentityPool.SamlProviderARNs`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-samlproviderarns
*/
samlProviderArns?: Array<string | cdk.Token> | cdk.Token;
samlProviderArns?: string[];
/**
* ``AWS::Cognito::IdentityPool.SupportedLoginProviders``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-supportedloginproviders
* `AWS::Cognito::IdentityPool.SupportedLoginProviders`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-supportedloginproviders
*/

@@ -58,5 +59,8 @@ supportedLoginProviders?: object | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html
* A CloudFormation `AWS::Cognito::IdentityPool`
*
* @cloudformationResource AWS::Cognito::IdentityPool
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html
*/
export declare class CfnIdentityPool extends cdk.Resource {
export declare class CfnIdentityPool extends cdk.CfnResource {
/**

@@ -67,3 +71,3 @@ * The CloudFormation resource type name for this resource class.

/**
* @cloudformation_attribute Name
* @cloudformationAttribute Name
*/

@@ -73,7 +77,7 @@ readonly identityPoolName: string;

/**
* Creates a new ``AWS::Cognito::IdentityPool``.
* Create a new `AWS::Cognito::IdentityPool`.
*
* @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
*/

@@ -88,18 +92,18 @@ constructor(scope: cdk.Construct, id: string, props: CfnIdentityPoolProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html
*/
interface CognitoIdentityProviderProperty {
/**
* ``CfnIdentityPool.CognitoIdentityProviderProperty.ClientId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-clientid
* `CfnIdentityPool.CognitoIdentityProviderProperty.ClientId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-clientid
*/
clientId?: string;
/**
* ``CfnIdentityPool.CognitoIdentityProviderProperty.ProviderName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-providername
* `CfnIdentityPool.CognitoIdentityProviderProperty.ProviderName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-providername
*/
providerName?: string;
/**
* ``CfnIdentityPool.CognitoIdentityProviderProperty.ServerSideTokenCheck``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-serversidetokencheck
* `CfnIdentityPool.CognitoIdentityProviderProperty.ServerSideTokenCheck`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-serversidetokencheck
*/

@@ -111,18 +115,18 @@ serverSideTokenCheck?: boolean | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html
*/
interface CognitoStreamsProperty {
/**
* ``CfnIdentityPool.CognitoStreamsProperty.RoleArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-rolearn
* `CfnIdentityPool.CognitoStreamsProperty.RoleArn`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-rolearn
*/
roleArn?: string;
/**
* ``CfnIdentityPool.CognitoStreamsProperty.StreamName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamname
* `CfnIdentityPool.CognitoStreamsProperty.StreamName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamname
*/
streamName?: string;
/**
* ``CfnIdentityPool.CognitoStreamsProperty.StreamingStatus``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamingstatus
* `CfnIdentityPool.CognitoStreamsProperty.StreamingStatus`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamingstatus
*/

@@ -134,13 +138,13 @@ streamingStatus?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html
*/
interface PushSyncProperty {
/**
* ``CfnIdentityPool.PushSyncProperty.ApplicationArns``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-applicationarns
* `CfnIdentityPool.PushSyncProperty.ApplicationArns`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-applicationarns
*/
applicationArns?: Array<string | cdk.Token> | cdk.Token;
applicationArns?: string[];
/**
* ``CfnIdentityPool.PushSyncProperty.RoleArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-rolearn
* `CfnIdentityPool.PushSyncProperty.RoleArn`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-rolearn
*/

@@ -151,13 +155,14 @@ roleArn?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html
* Properties for defining a `AWS::Cognito::IdentityPoolRoleAttachment`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html
*/
export interface CfnIdentityPoolRoleAttachmentProps {
/**
* ``AWS::Cognito::IdentityPoolRoleAttachment.IdentityPoolId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-identitypoolid
* `AWS::Cognito::IdentityPoolRoleAttachment.IdentityPoolId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-identitypoolid
*/
identityPoolId: string;
/**
* ``AWS::Cognito::IdentityPoolRoleAttachment.RoleMappings``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-rolemappings
* `AWS::Cognito::IdentityPoolRoleAttachment.RoleMappings`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-rolemappings
*/

@@ -168,4 +173,4 @@ roleMappings?: {

/**
* ``AWS::Cognito::IdentityPoolRoleAttachment.Roles``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-roles
* `AWS::Cognito::IdentityPoolRoleAttachment.Roles`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-roles
*/

@@ -175,5 +180,8 @@ roles?: object | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html
* A CloudFormation `AWS::Cognito::IdentityPoolRoleAttachment`
*
* @cloudformationResource AWS::Cognito::IdentityPoolRoleAttachment
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html
*/
export declare class CfnIdentityPoolRoleAttachment extends cdk.Resource {
export declare class CfnIdentityPoolRoleAttachment extends cdk.CfnResource {
/**

@@ -185,7 +193,7 @@ * The CloudFormation resource type name for this resource class.

/**
* Creates a new ``AWS::Cognito::IdentityPoolRoleAttachment``.
* Create a new `AWS::Cognito::IdentityPoolRoleAttachment`.
*
* @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
*/

@@ -200,23 +208,23 @@ constructor(scope: cdk.Construct, id: string, props: CfnIdentityPoolRoleAttachmentProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html
*/
interface MappingRuleProperty {
/**
* ``CfnIdentityPoolRoleAttachment.MappingRuleProperty.Claim``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-claim
* `CfnIdentityPoolRoleAttachment.MappingRuleProperty.Claim`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-claim
*/
claim: string;
/**
* ``CfnIdentityPoolRoleAttachment.MappingRuleProperty.MatchType``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-matchtype
* `CfnIdentityPoolRoleAttachment.MappingRuleProperty.MatchType`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-matchtype
*/
matchType: string;
/**
* ``CfnIdentityPoolRoleAttachment.MappingRuleProperty.RoleARN``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-rolearn
* `CfnIdentityPoolRoleAttachment.MappingRuleProperty.RoleARN`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-rolearn
*/
roleArn: string;
/**
* ``CfnIdentityPoolRoleAttachment.MappingRuleProperty.Value``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-value
* `CfnIdentityPoolRoleAttachment.MappingRuleProperty.Value`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-value
*/

@@ -228,18 +236,18 @@ value: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html
*/
interface RoleMappingProperty {
/**
* ``CfnIdentityPoolRoleAttachment.RoleMappingProperty.AmbiguousRoleResolution``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution
* `CfnIdentityPoolRoleAttachment.RoleMappingProperty.AmbiguousRoleResolution`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution
*/
ambiguousRoleResolution?: string;
/**
* ``CfnIdentityPoolRoleAttachment.RoleMappingProperty.RulesConfiguration``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration
* `CfnIdentityPoolRoleAttachment.RoleMappingProperty.RulesConfiguration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration
*/
rulesConfiguration?: CfnIdentityPoolRoleAttachment.RulesConfigurationTypeProperty | cdk.Token;
/**
* ``CfnIdentityPoolRoleAttachment.RoleMappingProperty.Type``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-type
* `CfnIdentityPoolRoleAttachment.RoleMappingProperty.Type`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-type
*/

@@ -251,8 +259,8 @@ type: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html
*/
interface RulesConfigurationTypeProperty {
/**
* ``CfnIdentityPoolRoleAttachment.RulesConfigurationTypeProperty.Rules``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html#cfn-cognito-identitypoolroleattachment-rulesconfigurationtype-rules
* `CfnIdentityPoolRoleAttachment.RulesConfigurationTypeProperty.Rules`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html#cfn-cognito-identitypoolroleattachment-rulesconfigurationtype-rules
*/

@@ -263,88 +271,89 @@ rules: Array<CfnIdentityPoolRoleAttachment.MappingRuleProperty | cdk.Token> | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
* Properties for defining a `AWS::Cognito::UserPool`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
*/
export interface CfnUserPoolProps {
/**
* ``AWS::Cognito::UserPool.AdminCreateUserConfig``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig
* `AWS::Cognito::UserPool.AdminCreateUserConfig`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig
*/
adminCreateUserConfig?: CfnUserPool.AdminCreateUserConfigProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.AliasAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes
* `AWS::Cognito::UserPool.AliasAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes
*/
aliasAttributes?: Array<string | cdk.Token> | cdk.Token;
aliasAttributes?: string[];
/**
* ``AWS::Cognito::UserPool.AutoVerifiedAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-autoverifiedattributes
* `AWS::Cognito::UserPool.AutoVerifiedAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-autoverifiedattributes
*/
autoVerifiedAttributes?: Array<string | cdk.Token> | cdk.Token;
autoVerifiedAttributes?: string[];
/**
* ``AWS::Cognito::UserPool.DeviceConfiguration``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deviceconfiguration
* `AWS::Cognito::UserPool.DeviceConfiguration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deviceconfiguration
*/
deviceConfiguration?: CfnUserPool.DeviceConfigurationProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.EmailConfiguration``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailconfiguration
* `AWS::Cognito::UserPool.EmailConfiguration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailconfiguration
*/
emailConfiguration?: CfnUserPool.EmailConfigurationProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.EmailVerificationMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage
* `AWS::Cognito::UserPool.EmailVerificationMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage
*/
emailVerificationMessage?: string;
/**
* ``AWS::Cognito::UserPool.EmailVerificationSubject``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject
* `AWS::Cognito::UserPool.EmailVerificationSubject`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject
*/
emailVerificationSubject?: string;
/**
* ``AWS::Cognito::UserPool.LambdaConfig``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig
* `AWS::Cognito::UserPool.LambdaConfig`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig
*/
lambdaConfig?: CfnUserPool.LambdaConfigProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.MfaConfiguration``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-mfaconfiguration
* `AWS::Cognito::UserPool.MfaConfiguration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-mfaconfiguration
*/
mfaConfiguration?: string;
/**
* ``AWS::Cognito::UserPool.Policies``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-policies
* `AWS::Cognito::UserPool.Policies`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-policies
*/
policies?: CfnUserPool.PoliciesProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.Schema``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema
* `AWS::Cognito::UserPool.Schema`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema
*/
schema?: Array<CfnUserPool.SchemaAttributeProperty | cdk.Token> | cdk.Token;
/**
* ``AWS::Cognito::UserPool.SmsAuthenticationMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage
* `AWS::Cognito::UserPool.SmsAuthenticationMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage
*/
smsAuthenticationMessage?: string;
/**
* ``AWS::Cognito::UserPool.SmsConfiguration``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsconfiguration
* `AWS::Cognito::UserPool.SmsConfiguration`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsconfiguration
*/
smsConfiguration?: CfnUserPool.SmsConfigurationProperty | cdk.Token;
/**
* ``AWS::Cognito::UserPool.SmsVerificationMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage
* `AWS::Cognito::UserPool.SmsVerificationMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage
*/
smsVerificationMessage?: string;
/**
* ``AWS::Cognito::UserPool.UsernameAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes
* `AWS::Cognito::UserPool.UsernameAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes
*/
usernameAttributes?: Array<string | cdk.Token> | cdk.Token;
usernameAttributes?: string[];
/**
* ``AWS::Cognito::UserPool.UserPoolName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname
* `AWS::Cognito::UserPool.UserPoolName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname
*/
userPoolName?: string;
/**
* ``AWS::Cognito::UserPool.UserPoolTags``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags
* `AWS::Cognito::UserPool.UserPoolTags`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags
*/

@@ -354,5 +363,8 @@ userPoolTags?: object | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
* A CloudFormation `AWS::Cognito::UserPool`
*
* @cloudformationResource AWS::Cognito::UserPool
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
*/
export declare class CfnUserPool extends cdk.Resource {
export declare class CfnUserPool extends cdk.CfnResource {
/**

@@ -363,11 +375,11 @@ * The CloudFormation resource type name for this resource class.

/**
* @cloudformation_attribute Arn
* @cloudformationAttribute Arn
*/
readonly userPoolArn: string;
/**
* @cloudformation_attribute ProviderName
* @cloudformationAttribute ProviderName
*/
readonly userPoolProviderName: string;
/**
* @cloudformation_attribute ProviderURL
* @cloudformationAttribute ProviderURL
*/

@@ -377,7 +389,7 @@ readonly userPoolProviderUrl: string;

/**
* Creates a new ``AWS::Cognito::UserPool``.
* Create a new `AWS::Cognito::UserPool`.
*
* @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
*/

@@ -392,18 +404,18 @@ constructor(scope: cdk.Construct, id: string, props?: CfnUserPoolProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html
*/
interface AdminCreateUserConfigProperty {
/**
* ``CfnUserPool.AdminCreateUserConfigProperty.AllowAdminCreateUserOnly``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-allowadmincreateuseronly
* `CfnUserPool.AdminCreateUserConfigProperty.AllowAdminCreateUserOnly`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-allowadmincreateuseronly
*/
allowAdminCreateUserOnly?: boolean | cdk.Token;
/**
* ``CfnUserPool.AdminCreateUserConfigProperty.InviteMessageTemplate``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate
* `CfnUserPool.AdminCreateUserConfigProperty.InviteMessageTemplate`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate
*/
inviteMessageTemplate?: CfnUserPool.InviteMessageTemplateProperty | cdk.Token;
/**
* ``CfnUserPool.AdminCreateUserConfigProperty.UnusedAccountValidityDays``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays
* `CfnUserPool.AdminCreateUserConfigProperty.UnusedAccountValidityDays`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays
*/

@@ -415,13 +427,13 @@ unusedAccountValidityDays?: number | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html
*/
interface DeviceConfigurationProperty {
/**
* ``CfnUserPool.DeviceConfigurationProperty.ChallengeRequiredOnNewDevice``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-challengerequiredonnewdevice
* `CfnUserPool.DeviceConfigurationProperty.ChallengeRequiredOnNewDevice`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-challengerequiredonnewdevice
*/
challengeRequiredOnNewDevice?: boolean | cdk.Token;
/**
* ``CfnUserPool.DeviceConfigurationProperty.DeviceOnlyRememberedOnUserPrompt``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-deviceonlyrememberedonuserprompt
* `CfnUserPool.DeviceConfigurationProperty.DeviceOnlyRememberedOnUserPrompt`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-deviceonlyrememberedonuserprompt
*/

@@ -433,13 +445,13 @@ deviceOnlyRememberedOnUserPrompt?: boolean | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html
*/
interface EmailConfigurationProperty {
/**
* ``CfnUserPool.EmailConfigurationProperty.ReplyToEmailAddress``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress
* `CfnUserPool.EmailConfigurationProperty.ReplyToEmailAddress`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress
*/
replyToEmailAddress?: string;
/**
* ``CfnUserPool.EmailConfigurationProperty.SourceArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-sourcearn
* `CfnUserPool.EmailConfigurationProperty.SourceArn`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-sourcearn
*/

@@ -451,18 +463,18 @@ sourceArn?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html
*/
interface InviteMessageTemplateProperty {
/**
* ``CfnUserPool.InviteMessageTemplateProperty.EmailMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailmessage
* `CfnUserPool.InviteMessageTemplateProperty.EmailMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailmessage
*/
emailMessage?: string;
/**
* ``CfnUserPool.InviteMessageTemplateProperty.EmailSubject``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailsubject
* `CfnUserPool.InviteMessageTemplateProperty.EmailSubject`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailsubject
*/
emailSubject?: string;
/**
* ``CfnUserPool.InviteMessageTemplateProperty.SMSMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-smsmessage
* `CfnUserPool.InviteMessageTemplateProperty.SMSMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-smsmessage
*/

@@ -474,43 +486,43 @@ smsMessage?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html
*/
interface LambdaConfigProperty {
/**
* ``CfnUserPool.LambdaConfigProperty.CreateAuthChallenge``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge
* `CfnUserPool.LambdaConfigProperty.CreateAuthChallenge`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge
*/
createAuthChallenge?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.CustomMessage``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage
* `CfnUserPool.LambdaConfigProperty.CustomMessage`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage
*/
customMessage?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.DefineAuthChallenge``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge
* `CfnUserPool.LambdaConfigProperty.DefineAuthChallenge`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge
*/
defineAuthChallenge?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.PostAuthentication``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication
* `CfnUserPool.LambdaConfigProperty.PostAuthentication`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication
*/
postAuthentication?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.PostConfirmation``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postconfirmation
* `CfnUserPool.LambdaConfigProperty.PostConfirmation`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postconfirmation
*/
postConfirmation?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.PreAuthentication``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-preauthentication
* `CfnUserPool.LambdaConfigProperty.PreAuthentication`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-preauthentication
*/
preAuthentication?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.PreSignUp``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup
* `CfnUserPool.LambdaConfigProperty.PreSignUp`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup
*/
preSignUp?: string;
/**
* ``CfnUserPool.LambdaConfigProperty.VerifyAuthChallengeResponse``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse
* `CfnUserPool.LambdaConfigProperty.VerifyAuthChallengeResponse`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse
*/

@@ -522,13 +534,13 @@ verifyAuthChallengeResponse?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html
*/
interface NumberAttributeConstraintsProperty {
/**
* ``CfnUserPool.NumberAttributeConstraintsProperty.MaxValue``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-maxvalue
* `CfnUserPool.NumberAttributeConstraintsProperty.MaxValue`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-maxvalue
*/
maxValue?: string;
/**
* ``CfnUserPool.NumberAttributeConstraintsProperty.MinValue``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-minvalue
* `CfnUserPool.NumberAttributeConstraintsProperty.MinValue`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-minvalue
*/

@@ -540,28 +552,28 @@ minValue?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html
*/
interface PasswordPolicyProperty {
/**
* ``CfnUserPool.PasswordPolicyProperty.MinimumLength``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-minimumlength
* `CfnUserPool.PasswordPolicyProperty.MinimumLength`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-minimumlength
*/
minimumLength?: number | cdk.Token;
/**
* ``CfnUserPool.PasswordPolicyProperty.RequireLowercase``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirelowercase
* `CfnUserPool.PasswordPolicyProperty.RequireLowercase`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirelowercase
*/
requireLowercase?: boolean | cdk.Token;
/**
* ``CfnUserPool.PasswordPolicyProperty.RequireNumbers``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirenumbers
* `CfnUserPool.PasswordPolicyProperty.RequireNumbers`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirenumbers
*/
requireNumbers?: boolean | cdk.Token;
/**
* ``CfnUserPool.PasswordPolicyProperty.RequireSymbols``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requiresymbols
* `CfnUserPool.PasswordPolicyProperty.RequireSymbols`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requiresymbols
*/
requireSymbols?: boolean | cdk.Token;
/**
* ``CfnUserPool.PasswordPolicyProperty.RequireUppercase``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requireuppercase
* `CfnUserPool.PasswordPolicyProperty.RequireUppercase`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requireuppercase
*/

@@ -573,8 +585,8 @@ requireUppercase?: boolean | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html
*/
interface PoliciesProperty {
/**
* ``CfnUserPool.PoliciesProperty.PasswordPolicy``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-passwordpolicy
* `CfnUserPool.PoliciesProperty.PasswordPolicy`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-passwordpolicy
*/

@@ -586,38 +598,38 @@ passwordPolicy?: CfnUserPool.PasswordPolicyProperty | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html
*/
interface SchemaAttributeProperty {
/**
* ``CfnUserPool.SchemaAttributeProperty.AttributeDataType``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-attributedatatype
* `CfnUserPool.SchemaAttributeProperty.AttributeDataType`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-attributedatatype
*/
attributeDataType?: string;
/**
* ``CfnUserPool.SchemaAttributeProperty.DeveloperOnlyAttribute``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute
* `CfnUserPool.SchemaAttributeProperty.DeveloperOnlyAttribute`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute
*/
developerOnlyAttribute?: boolean | cdk.Token;
/**
* ``CfnUserPool.SchemaAttributeProperty.Mutable``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-mutable
* `CfnUserPool.SchemaAttributeProperty.Mutable`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-mutable
*/
mutable?: boolean | cdk.Token;
/**
* ``CfnUserPool.SchemaAttributeProperty.Name``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-name
* `CfnUserPool.SchemaAttributeProperty.Name`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-name
*/
name?: string;
/**
* ``CfnUserPool.SchemaAttributeProperty.NumberAttributeConstraints``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-numberattributeconstraints
* `CfnUserPool.SchemaAttributeProperty.NumberAttributeConstraints`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-numberattributeconstraints
*/
numberAttributeConstraints?: CfnUserPool.NumberAttributeConstraintsProperty | cdk.Token;
/**
* ``CfnUserPool.SchemaAttributeProperty.Required``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-required
* `CfnUserPool.SchemaAttributeProperty.Required`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-required
*/
required?: boolean | cdk.Token;
/**
* ``CfnUserPool.SchemaAttributeProperty.StringAttributeConstraints``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-stringattributeconstraints
* `CfnUserPool.SchemaAttributeProperty.StringAttributeConstraints`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-stringattributeconstraints
*/

@@ -629,13 +641,13 @@ stringAttributeConstraints?: CfnUserPool.StringAttributeConstraintsProperty | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html
*/
interface SmsConfigurationProperty {
/**
* ``CfnUserPool.SmsConfigurationProperty.ExternalId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid
* `CfnUserPool.SmsConfigurationProperty.ExternalId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid
*/
externalId?: string;
/**
* ``CfnUserPool.SmsConfigurationProperty.SnsCallerArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn
* `CfnUserPool.SmsConfigurationProperty.SnsCallerArn`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn
*/

@@ -647,13 +659,13 @@ snsCallerArn?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html
*/
interface StringAttributeConstraintsProperty {
/**
* ``CfnUserPool.StringAttributeConstraintsProperty.MaxLength``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-maxlength
* `CfnUserPool.StringAttributeConstraintsProperty.MaxLength`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-maxlength
*/
maxLength?: string;
/**
* ``CfnUserPool.StringAttributeConstraintsProperty.MinLength``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-minlength
* `CfnUserPool.StringAttributeConstraintsProperty.MinLength`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-minlength
*/

@@ -664,45 +676,49 @@ minLength?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html
* Properties for defining a `AWS::Cognito::UserPoolClient`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html
*/
export interface CfnUserPoolClientProps {
/**
* ``AWS::Cognito::UserPoolClient.UserPoolId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid
* `AWS::Cognito::UserPoolClient.UserPoolId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid
*/
userPoolId: string;
/**
* ``AWS::Cognito::UserPoolClient.ClientName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname
* `AWS::Cognito::UserPoolClient.ClientName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname
*/
clientName?: string;
/**
* ``AWS::Cognito::UserPoolClient.ExplicitAuthFlows``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows
* `AWS::Cognito::UserPoolClient.ExplicitAuthFlows`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows
*/
explicitAuthFlows?: Array<string | cdk.Token> | cdk.Token;
explicitAuthFlows?: string[];
/**
* ``AWS::Cognito::UserPoolClient.GenerateSecret``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret
* `AWS::Cognito::UserPoolClient.GenerateSecret`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret
*/
generateSecret?: boolean | cdk.Token;
/**
* ``AWS::Cognito::UserPoolClient.ReadAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes
* `AWS::Cognito::UserPoolClient.ReadAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes
*/
readAttributes?: Array<string | cdk.Token> | cdk.Token;
readAttributes?: string[];
/**
* ``AWS::Cognito::UserPoolClient.RefreshTokenValidity``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity
* `AWS::Cognito::UserPoolClient.RefreshTokenValidity`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity
*/
refreshTokenValidity?: number | cdk.Token;
/**
* ``AWS::Cognito::UserPoolClient.WriteAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-writeattributes
* `AWS::Cognito::UserPoolClient.WriteAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-writeattributes
*/
writeAttributes?: Array<string | cdk.Token> | cdk.Token;
writeAttributes?: string[];
}
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html
* A CloudFormation `AWS::Cognito::UserPoolClient`
*
* @cloudformationResource AWS::Cognito::UserPoolClient
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html
*/
export declare class CfnUserPoolClient extends cdk.Resource {
export declare class CfnUserPoolClient extends cdk.CfnResource {
/**

@@ -713,7 +729,7 @@ * The CloudFormation resource type name for this resource class.

/**
* @cloudformation_attribute ClientSecret
* @cloudformationAttribute ClientSecret
*/
readonly userPoolClientClientSecret: string;
/**
* @cloudformation_attribute Name
* @cloudformationAttribute Name
*/

@@ -723,7 +739,7 @@ readonly userPoolClientName: string;

/**
* Creates a new ``AWS::Cognito::UserPoolClient``.
* Create a new `AWS::Cognito::UserPoolClient`.
*
* @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
*/

@@ -737,28 +753,29 @@ constructor(scope: cdk.Construct, id: string, props: CfnUserPoolClientProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
* Properties for defining a `AWS::Cognito::UserPoolGroup`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
*/
export interface CfnUserPoolGroupProps {
/**
* ``AWS::Cognito::UserPoolGroup.UserPoolId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-userpoolid
* `AWS::Cognito::UserPoolGroup.UserPoolId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-userpoolid
*/
userPoolId: string;
/**
* ``AWS::Cognito::UserPoolGroup.Description``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-description
* `AWS::Cognito::UserPoolGroup.Description`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-description
*/
description?: string;
/**
* ``AWS::Cognito::UserPoolGroup.GroupName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-groupname
* `AWS::Cognito::UserPoolGroup.GroupName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-groupname
*/
groupName?: string;
/**
* ``AWS::Cognito::UserPoolGroup.Precedence``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-precedence
* `AWS::Cognito::UserPoolGroup.Precedence`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-precedence
*/
precedence?: number | cdk.Token;
/**
* ``AWS::Cognito::UserPoolGroup.RoleArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-rolearn
* `AWS::Cognito::UserPoolGroup.RoleArn`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-rolearn
*/

@@ -768,5 +785,8 @@ roleArn?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
* A CloudFormation `AWS::Cognito::UserPoolGroup`
*
* @cloudformationResource AWS::Cognito::UserPoolGroup
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
*/
export declare class CfnUserPoolGroup extends cdk.Resource {
export declare class CfnUserPoolGroup extends cdk.CfnResource {
/**

@@ -778,7 +798,7 @@ * The CloudFormation resource type name for this resource class.

/**
* Creates a new ``AWS::Cognito::UserPoolGroup``.
* Create a new `AWS::Cognito::UserPoolGroup`.
*
* @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
*/

@@ -792,38 +812,39 @@ constructor(scope: cdk.Construct, id: string, props: CfnUserPoolGroupProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html
* Properties for defining a `AWS::Cognito::UserPoolUser`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html
*/
export interface CfnUserPoolUserProps {
/**
* ``AWS::Cognito::UserPoolUser.UserPoolId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userpoolid
* `AWS::Cognito::UserPoolUser.UserPoolId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userpoolid
*/
userPoolId: string;
/**
* ``AWS::Cognito::UserPoolUser.DesiredDeliveryMediums``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums
* `AWS::Cognito::UserPoolUser.DesiredDeliveryMediums`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums
*/
desiredDeliveryMediums?: Array<string | cdk.Token> | cdk.Token;
desiredDeliveryMediums?: string[];
/**
* ``AWS::Cognito::UserPoolUser.ForceAliasCreation``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-forcealiascreation
* `AWS::Cognito::UserPoolUser.ForceAliasCreation`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-forcealiascreation
*/
forceAliasCreation?: boolean | cdk.Token;
/**
* ``AWS::Cognito::UserPoolUser.MessageAction``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-messageaction
* `AWS::Cognito::UserPoolUser.MessageAction`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-messageaction
*/
messageAction?: string;
/**
* ``AWS::Cognito::UserPoolUser.UserAttributes``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes
* `AWS::Cognito::UserPoolUser.UserAttributes`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes
*/
userAttributes?: Array<CfnUserPoolUser.AttributeTypeProperty | cdk.Token> | cdk.Token;
/**
* ``AWS::Cognito::UserPoolUser.Username``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-username
* `AWS::Cognito::UserPoolUser.Username`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-username
*/
username?: string;
/**
* ``AWS::Cognito::UserPoolUser.ValidationData``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-validationdata
* `AWS::Cognito::UserPoolUser.ValidationData`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-validationdata
*/

@@ -833,5 +854,8 @@ validationData?: Array<CfnUserPoolUser.AttributeTypeProperty | cdk.Token> | cdk.Token;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html
* A CloudFormation `AWS::Cognito::UserPoolUser`
*
* @cloudformationResource AWS::Cognito::UserPoolUser
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html
*/
export declare class CfnUserPoolUser extends cdk.Resource {
export declare class CfnUserPoolUser extends cdk.CfnResource {
/**

@@ -843,7 +867,7 @@ * The CloudFormation resource type name for this resource class.

/**
* Creates a new ``AWS::Cognito::UserPoolUser``.
* Create a new `AWS::Cognito::UserPoolUser`.
*
* @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
*/

@@ -858,13 +882,13 @@ constructor(scope: cdk.Construct, id: string, props: CfnUserPoolUserProps);

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html
*/
interface AttributeTypeProperty {
/**
* ``CfnUserPoolUser.AttributeTypeProperty.Name``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-name
* `CfnUserPoolUser.AttributeTypeProperty.Name`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-name
*/
name?: string;
/**
* ``CfnUserPoolUser.AttributeTypeProperty.Value``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-value
* `CfnUserPoolUser.AttributeTypeProperty.Value`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-value
*/

@@ -875,18 +899,19 @@ value?: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
* Properties for defining a `AWS::Cognito::UserPoolUserToGroupAttachment`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
*/
export interface CfnUserPoolUserToGroupAttachmentProps {
/**
* ``AWS::Cognito::UserPoolUserToGroupAttachment.GroupName``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-groupname
* `AWS::Cognito::UserPoolUserToGroupAttachment.GroupName`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-groupname
*/
groupName: string;
/**
* ``AWS::Cognito::UserPoolUserToGroupAttachment.Username``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username
* `AWS::Cognito::UserPoolUserToGroupAttachment.Username`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username
*/
username: string;
/**
* ``AWS::Cognito::UserPoolUserToGroupAttachment.UserPoolId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid
* `AWS::Cognito::UserPoolUserToGroupAttachment.UserPoolId`
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid
*/

@@ -896,5 +921,8 @@ userPoolId: string;

/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
* A CloudFormation `AWS::Cognito::UserPoolUserToGroupAttachment`
*
* @cloudformationResource AWS::Cognito::UserPoolUserToGroupAttachment
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
*/
export declare class CfnUserPoolUserToGroupAttachment extends cdk.Resource {
export declare class CfnUserPoolUserToGroupAttachment extends cdk.CfnResource {
/**

@@ -906,7 +934,7 @@ * The CloudFormation resource type name for this resource class.

/**
* Creates a new ``AWS::Cognito::UserPoolUserToGroupAttachment``.
* Create a new `AWS::Cognito::UserPoolUserToGroupAttachment`.
*
* @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
*/

@@ -913,0 +941,0 @@ constructor(scope: cdk.Construct, id: string, props: CfnUserPoolUserToGroupAttachmentProps);

@@ -280,6 +280,6 @@ "use strict";

return {
userPoolId: new cdk.Output(this, 'UserPoolId', { value: this.userPoolId }).makeImportValue().toString(),
userPoolArn: new cdk.Output(this, 'UserPoolArn', { value: this.userPoolArn }).makeImportValue().toString(),
userPoolProviderName: new cdk.Output(this, 'UserPoolProviderName', { value: this.userPoolProviderName }).makeImportValue().toString(),
userPoolProviderUrl: new cdk.Output(this, 'UserPoolProviderUrl', { value: this.userPoolProviderUrl }).makeImportValue().toString()
userPoolId: new cdk.CfnOutput(this, 'UserPoolId', { value: this.userPoolId }).makeImportValue().toString(),
userPoolArn: new cdk.CfnOutput(this, 'UserPoolArn', { value: this.userPoolArn }).makeImportValue().toString(),
userPoolProviderName: new cdk.CfnOutput(this, 'UserPoolProviderName', { value: this.userPoolProviderName }).makeImportValue().toString(),
userPoolProviderUrl: new cdk.CfnOutput(this, 'UserPoolProviderUrl', { value: this.userPoolProviderUrl }).makeImportValue().toString()
};

@@ -312,2 +312,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidXNlci1wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLG9DQUFxQztBQUNyQywyREFBa0Q7QUFFbEQ7Ozs7R0FJRztBQUNILElBQVksaUJBOEdYO0FBOUdELFdBQVksaUJBQWlCO0lBQzNCOztPQUVHO0lBQ0gsd0NBQW1CLENBQUE7SUFFbkI7Ozs7T0FJRztJQUNILDRDQUF1QixDQUFBO0lBRXZCOzs7T0FHRztJQUNILG9DQUFlLENBQUE7SUFFZjs7OztPQUlHO0lBQ0gsK0NBQTBCLENBQUE7SUFFMUI7O09BRUc7SUFDSCxzQ0FBaUIsQ0FBQTtJQUVqQjs7OztPQUlHO0lBQ0gsNkNBQXdCLENBQUE7SUFFeEI7Ozs7O09BS0c7SUFDSCxzQ0FBaUIsQ0FBQTtJQUVqQjs7Ozs7T0FLRztJQUNILCtDQUEwQixDQUFBO0lBRTFCOzs7T0FHRztJQUNILGtDQUFhLENBQUE7SUFFYjs7O09BR0c7SUFDSCwwQ0FBcUIsQ0FBQTtJQUVyQjs7Ozs7T0FLRztJQUNILGlEQUE0QixDQUFBO0lBRTVCOzs7Ozs7T0FNRztJQUNILHdDQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsNkRBQXdDLENBQUE7SUFFeEM7O09BRUc7SUFDSCx3Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBDQUFxQixDQUFBO0lBRXJCOzs7O09BSUc7SUFDSCw2Q0FBd0IsQ0FBQTtJQUV4Qjs7O09BR0c7SUFDSCx3Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBOUdXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBOEc1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxVQW9CWDtBQXBCRCxXQUFZLFVBQVU7SUFDcEI7O09BRUc7SUFDSCxtREFBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFD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QW1CLEtBQTBCO1FBQ3ZGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFENEMsVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFHdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlhbSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1pYW0nKTtcbmltcG9ydCBsYW1iZGEgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtbGFtYmRhJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBDZm5Vc2VyUG9vbCB9IGZyb20gJy4vY29nbml0by5nZW5lcmF0ZWQnO1xuXG4vKipcbiAqIFN0YW5kYXJkIGF0dHJpYnV0ZXNcbiAqIFNwZWNpZmllZCBmb2xsb3dpbmcgdGhlIE9wZW5JRCBDb25uZWN0IHNwZWNcbiAqIEBzZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjU3RhbmRhcmRDbGFpbXNcbiAqL1xuZXhwb3J0IGVudW0gVXNlclBvb2xBdHRyaWJ1dGUge1xuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgcG9zdGFsIGFkZHJlc3MuXG4gICAqL1xuICBBZGRyZXNzID0gJ2FkZHJlc3MnLFxuXG4gIC8qKlxuICAgKiBFbmQtVXNlcidzIGJpcnRoZGF5LCByZXByZXNlbnRlZCBhcyBhbiBJU08gODYwMToyMDA0IFtJU084NjAx4oCRMjAwNF0gWVlZWS1NTS1ERCBmb3JtYXQuXG4gICAqIFRoZSB5ZWFyIE1BWSBiZSAwMDAwLCBpbmRpY2F0aW5nIHRoYXQgaXQgaXMgb21pdHRlZC5cbiAgICogVG8gcmVwcmVzZW50IG9ubHkgdGhlIHllYXIsIFlZWVkgZm9ybWF0IGlzIGFsbG93ZWQuXG4gICAqL1xuICBCaXJ0aGRhdGUgPSAnYmlydGhkYXRlJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgZS1tYWlsIGFkZHJlc3MuXG4gICAqIEl0cyB2YWx1ZSBNVVNUIGNvbmZvcm0gdG8gdGhlIFJGQyA1MzIyIFtSRkM1MzIyXSBhZGRyLXNwZWMgc3ludGF4LlxuICAgKi9cbiAgRW1haWwgPSAnZW1haWwnLFxuXG4gIC8qKlxuICAgKiBTdXJuYW1lKHMpIG9yIGxhc3QgbmFtZShzKSBvZiB0aGUgRW5kLVVzZXIuXG4gICAqIE5vdGUgdGhhdCBpbiBzb21lIGN1bHR1cmVzLCBwZW9wbGUgY2FuIGhhdmUgbXVsdGlwbGUgZmFtaWx5IG5hbWVzIG9yIG5vIGZhbWlseSBuYW1lO1xuICAgKiBhbGwgY2FuIGJlIHByZXNlbnQsIHdpdGggdGhlIG5hbWVzIGJlaW5nIHNlcGFyYXRlZCBieSBzcGFjZSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgRmFtaWx5TmFtZSA9ICdmYW1pbHlfbmFtZScsXG5cbiAgLyoqXG4gICAqIEVuZC1Vc2VyJ3MgZ2VuZGVyLlxuICAgKi9cbiAgR2VuZGVyID0gJ2dlbmRlcicsXG5cbiAgLyoqXG4gICAqIEdpdmVuIG5hbWUocykgb3IgZmlyc3QgbmFtZShzKSBvZiB0aGUgRW5kLVVzZXIuXG4gICAqIE5vdGUgdGhhdCBpbiBzb21lIGN1bHR1cmVzLCBwZW9wbGUgY2FuIGhhdmUgbXVsdGlwbGUgZ2l2ZW4gbmFtZXM7XG4gICAqIGFsbCBjYW4gYmUgcHJlc2VudCwgd2l0aCB0aGUgbmFtZXMgYmVpbmcgc2VwYXJhdGVkIGJ5IHNwYWNlIGNoYXJhY3RlcnMuXG4gICAqL1xuICBHaXZlbk5hbWUgPSAnZ2l2ZW5fbmFtZScsXG5cbiAgLyoqXG4gICAqIEVuZC1Vc2VyJ3MgbG9jYWxlLCByZXByZXNlbnRlZCBhcyBhIEJDUDQ3IFtSRkM1NjQ2XSBsYW5ndWFnZSB0YWcuXG4gICAqIFRoaXMgaXMgdHlwaWNhbGx5IGFuIElTTyA2MzktMSBBbHBoYS0yIFtJU082MznigJExXSBsYW5ndWFnZSBjb2RlIGluIGxvd2VyY2FzZVxuICAgKiBhbmQgYW4gSVNPIDMxNjYtMSBBbHBoYS0yIFtJU08zMTY24oCRMV0gY291bnRyeSBjb2RlIGluIHVwcGVyY2FzZSwgc2VwYXJhdGVkIGJ5IGEgZGFzaC5cbiAgICogRm9yIGV4YW1wbGUsIGVuLVVTIG9yIGZyLUNBLlxuICAgKi9cbiAgTG9jYWxlID0gJ2xvY2FsZScsXG5cbiAgLyoqXG4gICAqIE1pZGRsZSBuYW1lKHMpIG9mIHRoZSBFbmQtVXNlci5cbiAgICogTm90ZSB0aGF0IGluIHNvbWUgY3VsdHVyZXMsIHBlb3BsZSBjYW4gaGF2ZSBtdWx0aXBsZSBtaWRkbGUgbmFtZXM7XG4gICAqIGFsbCBjYW4gYmUgcHJlc2VudCwgd2l0aCB0aGUgbmFtZXMgYmVpbmcgc2VwYXJhdGVkIGJ5IHNwYWNlIGNoYXJhY3RlcnMuXG4gICAqIEFsc28gbm90ZSB0aGF0IGluIHNvbWUgY3VsdHVyZXMsIG1pZGRsZSBuYW1lcyBhcmUgbm90IHVzZWQuXG4gICAqL1xuICBNaWRkbGVOYW1lID0gJ21pZGRsZV9uYW1lJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBmdWxsIG5hbWUgaW4gZGlzcGxheWFibGUgZm9ybSBpbmNsdWRpbmcgYWxsIG5hbWUgcGFydHMsXG4gICAqIHBvc3NpYmx5IGluY2x1ZGluZyB0aXRsZXMgYW5kIHN1ZmZpeGVzLCBvcmRlcmVkIGFjY29yZGluZyB0byB0aGUgRW5kLVVzZXIncyBsb2NhbGUgYW5kIHByZWZlcmVuY2VzLlxuICAgKi9cbiAgTmFtZSA9ICduYW1lJyxcblxuICAvKipcbiAgICogQ2FzdWFsIG5hbWUgb2YgdGhlIEVuZC1Vc2VyIHRoYXQgbWF5IG9yIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGdpdmVuX25hbWUuXG4gICAqIEZvciBpbnN0YW5jZSwgYSBuaWNrbmFtZSB2YWx1ZSBvZiBNaWtlIG1pZ2h0IGJlIHJldHVybmVkIGFsb25nc2lkZSBhIGdpdmVuX25hbWUgdmFsdWUgb2YgTWljaGFlbC5cbiAgICovXG4gIE5pY2tuYW1lID0gJ25pY2tuYW1lJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgdGVsZXBob25lIG51bWJlci5cbiAgICogRS4xNjQgW0UuMTY0XSBpcyBSRUNPTU1FTkRFRCBhcyB0aGUgZm9ybWF0IG9mIHRoaXMgQ2xhaW0sIGZvciBleGFtcGxlLCArMSAoNDI1KSA1NTUtMTIxMiBvciArNTYgKDIpIDY4NyAyNDAwLlxuICAgKiBJZiB0aGUgcGhvbmUgbnVtYmVyIGNvbnRhaW5zIGFuIGV4dGVuc2lvbiwgaXQgaXMgUkVDT01NRU5ERUQgdGhhdCB0aGUgZXh0ZW5zaW9uIGJlIHJlcHJlc2VudGVkIHVzaW5nIHRoZVxuICAgKiBSRkMgMzk2NiBbUkZDMzk2Nl0gZXh0ZW5zaW9uIHN5bnRheCwgZm9yIGV4YW1wbGUsICsxICg2MDQpIDU1NS0xMjM0O2V4dD01Njc4LlxuICAgKi9cbiAgUGhvbmVOdW1iZXIgPSAncGhvbmVfbnVtYmVyJyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIHByb2ZpbGUgcGljdHVyZS5cbiAgICogVGhpcyBVUkwgTVVTVCByZWZlciB0byBhbiBpbWFnZSBmaWxlIChmb3IgZXhhbXBsZSwgYSBQTkcsIEpQRUcsIG9yIEdJRiBpbWFnZSBmaWxlKSxcbiAgICogcmF0aGVyIHRoYW4gdG8gYSBXZWIgcGFnZSBjb250YWluaW5nIGFuIGltYWdlLlxuICAgKiBOb3RlIHRoYXQgdGhpcyBVUkwgU0hPVUxEIHNwZWNpZmljYWxseSByZWZlcmVuY2UgYSBwcm9maWxlIHBob3RvIG9mIHRoZSBFbmQtVXNlclxuICAgKiBzdWl0YWJsZSBmb3IgZGlzcGxheWluZyB3aGVuIGRlc2NyaWJpbmcgdGhlIEVuZC1Vc2VyLCByYXRoZXIgdGhhbiBhbiBhcmJpdHJhcnkgcGhvdG8gdGFrZW4gYnkgdGhlIEVuZC1Vc2VyXG4gICAqL1xuICBQaWN0dXJlID0gJ3BpY3R1cmUnLFxuXG4gIC8qKlxuICAgKiBTaG9ydGhhbmQgbmFtZSBieSB3aGljaCB0aGUgRW5kLVVzZXIgd2lzaGVzIHRvIGJlIHJlZmVycmVkIHRvLlxuICAgKi9cbiAgUHJlZmVycmVkVXNlcm5hbWUgPSAncHJlZmVycmVkX3VzZXJuYW1lJyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIHByb2ZpbGUgcGFnZS4gVGhlIGNvbnRlbnRzIG9mIHRoaXMgV2ViIHBhZ2UgU0hPVUxEIGJlIGFib3V0IHRoZSBFbmQtVXNlci5cbiAgICovXG4gIFByb2ZpbGUgPSAncHJvZmlsZScsXG5cbiAgLyoqXG4gICAqIFRoZSBFbmQtVXNlcidzIHRpbWUgem9uZVxuICAgKi9cbiAgVGltZXpvbmUgPSAndGltZXpvbmUnLFxuXG4gIC8qKlxuICAgKiBUaW1lIHRoZSBFbmQtVXNlcidzIGluZm9ybWF0aW9uIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEl0cyB2YWx1ZSBpcyBhIEpTT04gbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgZnJvbSAxOTcwLTAxLTAxVDA6MDowWlxuICAgKiBhcyBtZWFzdXJlZCBpbiBVVEMgdW50aWwgdGhlIGRhdGUvdGltZS5cbiAgICovXG4gIFVwZGF0ZWRBdCA9ICd1cGRhdGVkX2F0JyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIFdlYiBwYWdlIG9yIGJsb2cuXG4gICAqIFRoaXMgV2ViIHBhZ2UgU0hPVUxEIGNvbnRhaW4gaW5mb3JtYXRpb24gcHVibGlzaGVkIGJ5IHRoZSBFbmQtVXNlciBvciBhbiBvcmdhbml6YXRpb24gdGhhdCB0aGUgRW5kLVVzZXIgaXMgYWZmaWxpYXRlZCB3aXRoLlxuICAgKi9cbiAgV2Vic2l0ZSA9ICd3ZWJzaXRlJ1xufVxuXG4vKipcbiAqIE1ldGhvZHMgb2YgdXNlciBzaWduLWluXG4gKi9cbmV4cG9ydCBlbnVtIFNpZ25JblR5cGUge1xuICAvKipcbiAgICogRW5kLXVzZXIgd2lsbCBzaWduIGluIHdpdGggYSB1c2VybmFtZSwgd2l0aCBvcHRpb25hbCBhbGlhc2VzXG4gICAqL1xuICBVc2VybmFtZSxcblxuICAvKipcbiAgICogRW5kLXVzZXIgd2lsbCBzaWduIGluIHVzaW5nIGFuIGVtYWlsIGFkZHJlc3NcbiAgICovXG4gIEVtYWlsLFxuXG4gIC8qKlxuICAgKiBFbmQtdXNlciB3aWxsIHNpZ24gaW4gdXNpbmcgYSBwaG9uZSBudW1iZXJcbiAgICovXG4gIFBob25lLFxuXG4gIC8qKlxuICAgKiBFbmQtdXNlciB3aWxsIHNpZ24gaW4gdXNpbmcgZWl0aGVyIGFuIGVtYWlsIGFkZHJlc3Mgb3IgcGhvbmUgbnVtYmVyXG4gICAqL1xuICBFbWFpbE9yUGhvbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9vbFRyaWdnZXJzIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLWNyZWF0ZS1hdXRoLWNoYWxsZW5nZS5odG1sXG4gICAqL1xuICBjcmVhdGVBdXRoQ2hhbGxlbmdlPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogQSBjdXN0b20gTWVzc2FnZSBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtY3VzdG9tLW1lc3NhZ2UuaHRtbFxuICAgKi9cbiAgY3VzdG9tTWVzc2FnZT86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1kZWZpbmUtYXV0aC1jaGFsbGVuZ2UuaHRtbFxuICAgKi9cbiAgZGVmaW5lQXV0aENoYWxsZW5nZT86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcG9zdC1hdXRoZW50aWNhdGlvbiBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcG9zdC1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqL1xuICBwb3N0QXV0aGVudGljYXRpb24/OiBsYW1iZGEuSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHBvc3QtY29uZmlybWF0aW9uIEFXUyBMYW1iZGEgdHJpZ2dlci5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1wb3N0LWNvbmZpcm1hdGlvbi5odG1sXG4gICAqL1xuICBwb3N0Q29uZmlybWF0aW9uPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogQSBwcmUtYXV0aGVudGljYXRpb24gQVdTIExhbWJkYSB0cmlnZ2VyLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLXByZS1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqL1xuICBwcmVBdXRoZW50aWNhdGlvbj86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcHJlLXJlZ2lzdHJhdGlvbiBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcHJlLXNpZ24tdXAuaHRtbFxuICAgKi9cbiAgcHJlU2lnblVwPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogVmVyaWZpZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSByZXNwb25zZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS12ZXJpZnktYXV0aC1jaGFsbGVuZ2UtcmVzcG9uc2UuaHRtbFxuICAgKi9cbiAgdmVyaWZ5QXV0aENoYWxsZW5nZVJlc3BvbnNlPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogSW5kZXggc2lnbmF0dXJlXG4gICAqL1xuICBbdHJpZ2dlcjogc3RyaW5nXTogbGFtYmRhLklGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9vbFByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHVzZXIgcG9vbFxuICAgKiBAZGVmYXVsdCB1bmlxdWUgSURcbiAgICovXG4gIHBvb2xOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdXNlZCBmb3IgdXNlciByZWdpc3RyYXRpb24gJiBzaWduIGluLlxuICAgKiBBbGxvd3MgZWl0aGVyIHVzZXJuYW1lIHdpdGggYWxpYXNlcyBPUiBzaWduIGluIHdpdGggZW1haWwsIHBob25lLCBvciBib3RoLlxuICAgKiBAZGVmYXVsdCBTaWduSW5UeXBlLlVTRVJOQU1FXG4gICAqL1xuICBzaWduSW5UeXBlPzogU2lnbkluVHlwZTtcblxuICAvKipcbiAgICogQXR0cmlidXRlcyB0byBhbGxvdyBhcyB1c2VybmFtZSBhbGlhcy5cbiAgICogT25seSB2YWxpZCBpZiBzaWduSW5UeXBlIGlzIFVTRVJOQU1FXG4gICAqIEBkZWZhdWx0IG5vIGFsaWFzXG4gICAqL1xuICB1c2VybmFtZUFsaWFzQXR0cmlidXRlcz86IFVzZXJQb29sQXR0cmlidXRlW107XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZXMgd2hpY2ggQ29nbml0byB3aWxsIGF1dG9tYXRpY2FsbHkgc2VuZCBhIHZlcmlmaWNhdGlvbiBtZXNzYWdlIHRvLlxuICAgKiBNdXN0IGJlIGVpdGhlciBFTUFJTCwgUEhPTkUsIG9yIGJvdGguXG4gICAqIEBkZWZhdWx0IG5vIGF1dG8gdmVyaWZpY2F0aW9uXG4gICAqL1xuICBhdXRvVmVyaWZpZWRBdHRyaWJ1dGVzPzogVXNlclBvb2xBdHRyaWJ1dGVbXTtcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9ucyB0byB1c2UgZm9yIHN1cHBvcnRlZCBDb2duaXRvIHRyaWdnZXJzLlxuICAgKi9cbiAgbGFtYmRhVHJpZ2dlcnM/OiBVc2VyUG9vbFRyaWdnZXJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAvKipcbiAgICogVGhlIElEIG9mIGFuIGV4aXN0aW5nIHVzZXIgcG9vbFxuICAgKi9cbiAgdXNlclBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHVzZXJQb29sQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBuYW1lIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHVzZXJQb29sUHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGltcG9ydGVkIHVzZXIgcG9vbFxuICAgKi9cbiAgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyUG9vbCBleHRlbmRzIGNkay5JQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgdXNlciBwb29sIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvdmlkZXIgbmFtZSBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3ZpZGVyIFVSTCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHBvcnRzIGEgVXNlciBQb29sIGZyb20gdGhpcyBzdGFja1xuICAgKiBAcmV0dXJucyB1c2VyIHBvb2wgcHJvcHMgdGhhdCBjYW4gYmUgaW1wb3J0ZWQgaW50byBhbm90aGVyIHN0YWNrXG4gICAqL1xuICBleHBvcnQoKTogVXNlclBvb2xJbXBvcnRQcm9wcztcbn1cblxuLyoqXG4gKiBEZWZpbmUgYSBDb2duaXRvIFVzZXIgUG9vbFxuICovXG5leHBvcnQgY2xhc3MgVXNlclBvb2wgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgSVVzZXJQb29sIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIHBvb2wgcmVzb3VyY2VcbiAgICogQHBhcmFtIHNjb3BlIFBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIENvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gcHJvcHMgSW1wb3J0ZWQgdXNlciBwb29sIHByb3BlcnRpZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW1wb3J0KHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVXNlclBvb2xJbXBvcnRQcm9wcyk6IElVc2VyUG9vbCB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZFVzZXJQb29sKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdXNlciBwb29sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVXNlciBwb29sIHByb3ZpZGVyIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VyIHBvb2wgcHJvdmlkZXIgVVJMXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgdHJpZ2dlcnM6IENmblVzZXJQb29sLkxhbWJkYUNvbmZpZ1Byb3BlcnR5ID0geyB9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVXNlclBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBsZXQgYWxpYXNBdHRyaWJ1dGVzOiBVc2VyUG9vbEF0dHJpYnV0ZVtdIHwgdW5kZWZpbmVkO1xuICAgIGxldCB1c2VybmFtZUF0dHJpYnV0ZXM6IFVzZXJQb29sQXR0cmlidXRlW10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAocHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXMgIT0gbnVsbCAmJiBwcm9wcy5zaWduSW5UeXBlICE9PSBTaWduSW5UeXBlLlVzZXJuYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCd1c2VybmFtZUFsaWFzQXR0cmlidXRlcycgY2FuIG9ubHkgYmUgc2V0IHdpdGggYSBzaWduSW5UeXBlIG9mICdVU0VSTkFNRSdgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXNcbiAgICAgICYmICFwcm9wcy51c2VybmFtZUFsaWFzQXR0cmlidXRlcy5ldmVyeShhID0+IHtcbiAgICAgICAgcmV0dXJuIGEgPT09IFVzZXJQb29sQXR0cmlidXRlLkVtYWlsIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlByZWZlcnJlZFVzZXJuYW1lO1xuICAgICAgfSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJ3VzZXJuYW1lQWxpYXNBdHRyaWJ1dGVzJyBjYW4gb25seSBpbmNsdWRlIEVNQUlMLCBQSE9ORV9OVU1CRVIsIG9yIFBSRUZFUlJFRF9VU0VSTkFNRWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5hdXRvVmVyaWZpZWRBdHRyaWJ1dGVzXG4gICAgICAmJiAhcHJvcHMuYXV0b1ZlcmlmaWVkQXR0cmlidXRlcy5ldmVyeShhID0+IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLkVtYWlsIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAnYXV0b1ZlcmlmaWVkQXR0cmlidXRlcycgY2FuIG9ubHkgaW5jbHVkZSBFTUFJTCBvciBQSE9ORV9OVU1CRVJgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHByb3BzLnNpZ25JblR5cGUpIHtcbiAgICAgIGNhc2UgU2lnbkluVHlwZS5Vc2VybmFtZTpcbiAgICAgICAgYWxpYXNBdHRyaWJ1dGVzID0gcHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXM7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuRW1haWw6XG4gICAgICAgIHVzZXJuYW1lQXR0cmlidXRlcyA9IFtVc2VyUG9vbEF0dHJpYnV0ZS5FbWFpbF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuUGhvbmU6XG4gICAgICAgIHVzZXJuYW1lQXR0cmlidXRlcyA9IFtVc2VyUG9vbEF0dHJpYnV0ZS5QaG9uZU51bWJlcl07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuRW1haWxPclBob25lOlxuICAgICAgICB1c2VybmFtZUF0dHJpYnV0ZXMgPSBbVXNlclBvb2xBdHRyaWJ1dGUuRW1haWwsIFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFsaWFzQXR0cmlidXRlcyA9IHByb3BzLnVzZXJuYW1lQWxpYXNBdHRyaWJ1dGVzO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubGFtYmRhVHJpZ2dlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhwcm9wcy5sYW1iZGFUcmlnZ2VycykpIHtcbiAgICAgICAgY29uc3QgdHJpZ2dlciA9IHByb3BzLmxhbWJkYVRyaWdnZXJzW3RdO1xuICAgICAgICBpZiAodHJpZ2dlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKHRyaWdnZXIgYXMgbGFtYmRhLklGdW5jdGlvbiwgdCk7XG4gICAgICAgICAgKHRoaXMudHJpZ2dlcnMgYXMgYW55KVt0XSA9ICh0cmlnZ2VyIGFzIGxhbWJkYS5JRnVuY3Rpb24pLmZ1bmN0aW9uQXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclBvb2wgPSBuZXcgQ2ZuVXNlclBvb2wodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgdXNlclBvb2xOYW1lOiBwcm9wcy5wb29sTmFtZSB8fCB0aGlzLm5vZGUudW5pcXVlSWQsXG4gICAgICB1c2VybmFtZUF0dHJpYnV0ZXMsXG4gICAgICBhbGlhc0F0dHJpYnV0ZXMsXG4gICAgICBhdXRvVmVyaWZpZWRBdHRyaWJ1dGVzOiBwcm9wcy5hdXRvVmVyaWZpZWRBdHRyaWJ1dGVzLFxuICAgICAgbGFtYmRhQ29uZmlnOiBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMudHJpZ2dlcnMpXG4gICAgfSk7XG4gICAgdGhpcy51c2VyUG9vbElkID0gdXNlclBvb2wudXNlclBvb2xJZDtcbiAgICB0aGlzLnVzZXJQb29sQXJuID0gdXNlclBvb2wudXNlclBvb2xBcm47XG4gICAgdGhpcy51c2VyUG9vbFByb3ZpZGVyTmFtZSA9IHVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJOYW1lO1xuICAgIHRoaXMudXNlclBvb2xQcm92aWRlclVybCA9IHVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJVcmw7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoICdDcmVhdGUgQXV0aCBDaGFsbGVuZ2UnIHRyaWdnZXJcbiAgICogR3JhbnRzIGFjY2VzcyBmcm9tIGNvZ25pdG8taWRwLmFtYXpvbmF3cy5jb20gdG8gdGhlIGxhbWJkYVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLWNyZWF0ZS1hdXRoLWNoYWxsZW5nZS5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uQ3JlYXRlQXV0aENoYWxsZW5nZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ0NyZWF0ZUF1dGhDaGFsbGVuZ2UnKTtcbiAgICB0aGlzLnRyaWdnZXJzLmNyZWF0ZUF1dGhDaGFsbGVuZ2UgPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ0N1c3RvbSBNZXNzYWdlJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1jdXN0b20tbWVzc2FnZS5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uQ3VzdG9tTWVzc2FnZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ0N1c3RvbU1lc3NhZ2UnKTtcbiAgICB0aGlzLnRyaWdnZXJzLmN1c3RvbU1lc3NhZ2UgPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ0RlZmluZSBBdXRoIENoYWxsZW5nZScgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtZGVmaW5lLWF1dGgtY2hhbGxlbmdlLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25EZWZpbmVBdXRoQ2hhbGxlbmdlKGZuOiBsYW1iZGEuSUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKGZuLCAnRGVmaW5lQXV0aENoYWxsZW5nZScpO1xuICAgIHRoaXMudHJpZ2dlcnMuZGVmaW5lQXV0aENoYWxsZW5nZSA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnUG9zdCBBdXRoZW50aWNhdGlvbicgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcG9zdC1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uUG9zdEF1dGhlbnRpY2F0aW9uKGZuOiBsYW1iZGEuSUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKGZuLCAnUG9zdEF1dGhlbnRpY2F0aW9uJyk7XG4gICAgdGhpcy50cmlnZ2Vycy5wb3N0QXV0aGVudGljYXRpb24gPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ1Bvc3QgQ29uZmlybWF0aW9uJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1wb3N0LWNvbmZpcm1hdGlvbi5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uUG9zdENvbmZpcm1hdGlvbihmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1Bvc3RDb25maXJtYXRpb24nKTtcbiAgICB0aGlzLnRyaWdnZXJzLnBvc3RDb25maXJtYXRpb24gPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ1ByZSBBdXRoZW50aWNhdGlvbicgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcHJlLWF1dGhlbnRpY2F0aW9uLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25QcmVBdXRoZW50aWNhdGlvbihmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1ByZUF1dGhlbnRpY2F0aW9uJyk7XG4gICAgdGhpcy50cmlnZ2Vycy5wcmVBdXRoZW50aWNhdGlvbiA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnUHJlIFNpZ24gVXAnIHRyaWdnZXJcbiAgICogR3JhbnRzIGFjY2VzcyBmcm9tIGNvZ25pdG8taWRwLmFtYXpvbmF3cy5jb20gdG8gdGhlIGxhbWJkYVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLXByZS1zaWduLXVwLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25QcmVTaWduVXAoZm46IGxhbWJkYS5JRnVuY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFkZExhbWJkYVBlcm1pc3Npb24oZm4sICdQcmVTaWduVXAnKTtcbiAgICB0aGlzLnRyaWdnZXJzLnByZVNpZ25VcCA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnVmVyaWZ5IEF1dGggQ2hhbGxlbmdlIFJlc3BvbnNlJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS12ZXJpZnktYXV0aC1jaGFsbGVuZ2UtcmVzcG9uc2UuaHRtbFxuICAgKiBAcGFyYW0gZm4gdGhlIGxhbWJkYSBmdW5jdGlvbiB0byBhdHRhY2hcbiAgICovXG4gIHB1YmxpYyBvblZlcmlmeUF1dGhDaGFsbGVuZ2VSZXNwb25zZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1ZlcmlmeUF1dGhDaGFsbGVuZ2VSZXNwb25zZScpO1xuICAgIHRoaXMudHJpZ2dlcnMudmVyaWZ5QXV0aENoYWxsZW5nZVJlc3BvbnNlID0gZm4uZnVuY3Rpb25Bcm47XG4gIH1cblxuICBwdWJsaWMgZXhwb3J0KCk6IFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB1c2VyUG9vbElkOiBuZXcgY2RrLk91dHB1dCh0aGlzLCAnVXNlclBvb2xJZCcsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xJZCB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpLFxuICAgICAgdXNlclBvb2xBcm46IG5ldyBjZGsuT3V0cHV0KHRoaXMsICdVc2VyUG9vbEFybicsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xBcm4gfSkubWFrZUltcG9ydFZhbHVlKCkudG9TdHJpbmcoKSxcbiAgICAgIHVzZXJQb29sUHJvdmlkZXJOYW1lOiBuZXcgY2RrLk91dHB1dCh0aGlzLCAnVXNlclBvb2xQcm92aWRlck5hbWUnLCB7IHZhbHVlOiB0aGlzLnVzZXJQb29sUHJvdmlkZXJOYW1lIH0pLm1ha2VJbXBvcnRWYWx1ZSgpLnRvU3RyaW5nKCksXG4gICAgICB1c2VyUG9vbFByb3ZpZGVyVXJsOiBuZXcgY2RrLk91dHB1dCh0aGlzLCAnVXNlclBvb2xQcm92aWRlclVybCcsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xQcm92aWRlclVybCB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTGFtYmRhUGVybWlzc2lvbihmbjogbGFtYmRhLklGdW5jdGlvbiwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgbm9ybWFsaXplID0gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSk7XG4gICAgZm4uYWRkUGVybWlzc2lvbihgJHtub3JtYWxpemV9Q29nbml0b2AsIHtcbiAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tJyksXG4gICAgICBzb3VyY2VBcm46IHRoaXMudXNlclBvb2xBcm5cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZSBhIHVzZXIgcG9vbCB3aGljaCBoYXMgYmVlbiBkZWNsYXJlZCBpbiBhbm90aGVyIHN0YWNrXG4gKi9cbmNsYXNzIEltcG9ydGVkVXNlclBvb2wgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgSVVzZXJQb29sIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiBhbiBleGlzdGluZyB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGltcG9ydGVkIHVzZXIgcG9vbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBuYW1lIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFVzZXJQb29sSW1wb3J0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy51c2VyUG9vbElkID0gcHJvcHMudXNlclBvb2xJZDtcbiAgICB0aGlzLnVzZXJQb29sQXJuID0gcHJvcHMudXNlclBvb2xBcm47XG4gICAgdGhpcy51c2VyUG9vbFByb3ZpZGVyTmFtZSA9IHByb3BzLnVzZXJQb29sUHJvdmlkZXJOYW1lO1xuICAgIHRoaXMudXNlclBvb2xQcm92aWRlclVybCA9IHByb3BzLnVzZXJQb29sUHJvdmlkZXJVcmw7XG4gIH1cblxuICBwdWJsaWMgZXhwb3J0KCk6IFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLnByb3BzO1xuICB9XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wb29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidXNlci1wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBRXpDLG9DQUFxQztBQUNyQywyREFBa0Q7QUFFbEQ7Ozs7R0FJRztBQUNILElBQVksaUJBOEdYO0FBOUdELFdBQVksaUJBQWlCO0lBQzNCOztPQUVHO0lBQ0gsd0NBQW1CLENBQUE7SUFFbkI7Ozs7T0FJRztJQUNILDRDQUF1QixDQUFBO0lBRXZCOzs7T0FHRztJQUNILG9DQUFlLENBQUE7SUFFZjs7OztPQUlHO0lBQ0gsK0NBQTBCLENBQUE7SUFFMUI7O09BRUc7SUFDSCxzQ0FBaUIsQ0FBQTtJQUVqQjs7OztPQUlHO0lBQ0gsNkNBQXdCLENBQUE7SUFFeEI7Ozs7O09BS0c7SUFDSCxzQ0FBaUIsQ0FBQTtJQUVqQjs7Ozs7T0FLRztJQUNILCtDQUEwQixDQUFBO0lBRTFCOzs7T0FHRztJQUNILGtDQUFhLENBQUE7SUFFYjs7O09BR0c7SUFDSCwwQ0FBcUIsQ0FBQTtJQUVyQjs7Ozs7T0FLRztJQUNILGlEQUE0QixDQUFBO0lBRTVCOzs7Ozs7T0FNRztJQUNILHdDQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsNkRBQXdDLENBQUE7SUFFeEM7O09BRUc7SUFDSCx3Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBDQUFxQixDQUFBO0lBRXJCOzs7O09BSUc7SUFDSCw2Q0FBd0IsQ0FBQTtJQUV4Qjs7O09BR0c7SUFDSCx3Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBOUdXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBOEc1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxVQW9CWDtBQXBCRCxXQUFZLFVBQVU7SUFDcEI7O09BRUc7SUFDSCxtREFBUSxDQUFBO0lBRVI7O09BRUc7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFD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QW1CLEtBQTBCO1FBQ3ZGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFENEMsVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFHdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlhbSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1pYW0nKTtcbmltcG9ydCBsYW1iZGEgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtbGFtYmRhJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBDZm5Vc2VyUG9vbCB9IGZyb20gJy4vY29nbml0by5nZW5lcmF0ZWQnO1xuXG4vKipcbiAqIFN0YW5kYXJkIGF0dHJpYnV0ZXNcbiAqIFNwZWNpZmllZCBmb2xsb3dpbmcgdGhlIE9wZW5JRCBDb25uZWN0IHNwZWNcbiAqIEBzZWUgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWNvcmUtMV8wLmh0bWwjU3RhbmRhcmRDbGFpbXNcbiAqL1xuZXhwb3J0IGVudW0gVXNlclBvb2xBdHRyaWJ1dGUge1xuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgcG9zdGFsIGFkZHJlc3MuXG4gICAqL1xuICBBZGRyZXNzID0gJ2FkZHJlc3MnLFxuXG4gIC8qKlxuICAgKiBFbmQtVXNlcidzIGJpcnRoZGF5LCByZXByZXNlbnRlZCBhcyBhbiBJU08gODYwMToyMDA0IFtJU084NjAx4oCRMjAwNF0gWVlZWS1NTS1ERCBmb3JtYXQuXG4gICAqIFRoZSB5ZWFyIE1BWSBiZSAwMDAwLCBpbmRpY2F0aW5nIHRoYXQgaXQgaXMgb21pdHRlZC5cbiAgICogVG8gcmVwcmVzZW50IG9ubHkgdGhlIHllYXIsIFlZWVkgZm9ybWF0IGlzIGFsbG93ZWQuXG4gICAqL1xuICBCaXJ0aGRhdGUgPSAnYmlydGhkYXRlJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgZS1tYWlsIGFkZHJlc3MuXG4gICAqIEl0cyB2YWx1ZSBNVVNUIGNvbmZvcm0gdG8gdGhlIFJGQyA1MzIyIFtSRkM1MzIyXSBhZGRyLXNwZWMgc3ludGF4LlxuICAgKi9cbiAgRW1haWwgPSAnZW1haWwnLFxuXG4gIC8qKlxuICAgKiBTdXJuYW1lKHMpIG9yIGxhc3QgbmFtZShzKSBvZiB0aGUgRW5kLVVzZXIuXG4gICAqIE5vdGUgdGhhdCBpbiBzb21lIGN1bHR1cmVzLCBwZW9wbGUgY2FuIGhhdmUgbXVsdGlwbGUgZmFtaWx5IG5hbWVzIG9yIG5vIGZhbWlseSBuYW1lO1xuICAgKiBhbGwgY2FuIGJlIHByZXNlbnQsIHdpdGggdGhlIG5hbWVzIGJlaW5nIHNlcGFyYXRlZCBieSBzcGFjZSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgRmFtaWx5TmFtZSA9ICdmYW1pbHlfbmFtZScsXG5cbiAgLyoqXG4gICAqIEVuZC1Vc2VyJ3MgZ2VuZGVyLlxuICAgKi9cbiAgR2VuZGVyID0gJ2dlbmRlcicsXG5cbiAgLyoqXG4gICAqIEdpdmVuIG5hbWUocykgb3IgZmlyc3QgbmFtZShzKSBvZiB0aGUgRW5kLVVzZXIuXG4gICAqIE5vdGUgdGhhdCBpbiBzb21lIGN1bHR1cmVzLCBwZW9wbGUgY2FuIGhhdmUgbXVsdGlwbGUgZ2l2ZW4gbmFtZXM7XG4gICAqIGFsbCBjYW4gYmUgcHJlc2VudCwgd2l0aCB0aGUgbmFtZXMgYmVpbmcgc2VwYXJhdGVkIGJ5IHNwYWNlIGNoYXJhY3RlcnMuXG4gICAqL1xuICBHaXZlbk5hbWUgPSAnZ2l2ZW5fbmFtZScsXG5cbiAgLyoqXG4gICAqIEVuZC1Vc2VyJ3MgbG9jYWxlLCByZXByZXNlbnRlZCBhcyBhIEJDUDQ3IFtSRkM1NjQ2XSBsYW5ndWFnZSB0YWcuXG4gICAqIFRoaXMgaXMgdHlwaWNhbGx5IGFuIElTTyA2MzktMSBBbHBoYS0yIFtJU082MznigJExXSBsYW5ndWFnZSBjb2RlIGluIGxvd2VyY2FzZVxuICAgKiBhbmQgYW4gSVNPIDMxNjYtMSBBbHBoYS0yIFtJU08zMTY24oCRMV0gY291bnRyeSBjb2RlIGluIHVwcGVyY2FzZSwgc2VwYXJhdGVkIGJ5IGEgZGFzaC5cbiAgICogRm9yIGV4YW1wbGUsIGVuLVVTIG9yIGZyLUNBLlxuICAgKi9cbiAgTG9jYWxlID0gJ2xvY2FsZScsXG5cbiAgLyoqXG4gICAqIE1pZGRsZSBuYW1lKHMpIG9mIHRoZSBFbmQtVXNlci5cbiAgICogTm90ZSB0aGF0IGluIHNvbWUgY3VsdHVyZXMsIHBlb3BsZSBjYW4gaGF2ZSBtdWx0aXBsZSBtaWRkbGUgbmFtZXM7XG4gICAqIGFsbCBjYW4gYmUgcHJlc2VudCwgd2l0aCB0aGUgbmFtZXMgYmVpbmcgc2VwYXJhdGVkIGJ5IHNwYWNlIGNoYXJhY3RlcnMuXG4gICAqIEFsc28gbm90ZSB0aGF0IGluIHNvbWUgY3VsdHVyZXMsIG1pZGRsZSBuYW1lcyBhcmUgbm90IHVzZWQuXG4gICAqL1xuICBNaWRkbGVOYW1lID0gJ21pZGRsZV9uYW1lJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBmdWxsIG5hbWUgaW4gZGlzcGxheWFibGUgZm9ybSBpbmNsdWRpbmcgYWxsIG5hbWUgcGFydHMsXG4gICAqIHBvc3NpYmx5IGluY2x1ZGluZyB0aXRsZXMgYW5kIHN1ZmZpeGVzLCBvcmRlcmVkIGFjY29yZGluZyB0byB0aGUgRW5kLVVzZXIncyBsb2NhbGUgYW5kIHByZWZlcmVuY2VzLlxuICAgKi9cbiAgTmFtZSA9ICduYW1lJyxcblxuICAvKipcbiAgICogQ2FzdWFsIG5hbWUgb2YgdGhlIEVuZC1Vc2VyIHRoYXQgbWF5IG9yIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGdpdmVuX25hbWUuXG4gICAqIEZvciBpbnN0YW5jZSwgYSBuaWNrbmFtZSB2YWx1ZSBvZiBNaWtlIG1pZ2h0IGJlIHJldHVybmVkIGFsb25nc2lkZSBhIGdpdmVuX25hbWUgdmFsdWUgb2YgTWljaGFlbC5cbiAgICovXG4gIE5pY2tuYW1lID0gJ25pY2tuYW1lJyxcblxuICAvKipcbiAgICogRW5kLVVzZXIncyBwcmVmZXJyZWQgdGVsZXBob25lIG51bWJlci5cbiAgICogRS4xNjQgW0UuMTY0XSBpcyBSRUNPTU1FTkRFRCBhcyB0aGUgZm9ybWF0IG9mIHRoaXMgQ2xhaW0sIGZvciBleGFtcGxlLCArMSAoNDI1KSA1NTUtMTIxMiBvciArNTYgKDIpIDY4NyAyNDAwLlxuICAgKiBJZiB0aGUgcGhvbmUgbnVtYmVyIGNvbnRhaW5zIGFuIGV4dGVuc2lvbiwgaXQgaXMgUkVDT01NRU5ERUQgdGhhdCB0aGUgZXh0ZW5zaW9uIGJlIHJlcHJlc2VudGVkIHVzaW5nIHRoZVxuICAgKiBSRkMgMzk2NiBbUkZDMzk2Nl0gZXh0ZW5zaW9uIHN5bnRheCwgZm9yIGV4YW1wbGUsICsxICg2MDQpIDU1NS0xMjM0O2V4dD01Njc4LlxuICAgKi9cbiAgUGhvbmVOdW1iZXIgPSAncGhvbmVfbnVtYmVyJyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIHByb2ZpbGUgcGljdHVyZS5cbiAgICogVGhpcyBVUkwgTVVTVCByZWZlciB0byBhbiBpbWFnZSBmaWxlIChmb3IgZXhhbXBsZSwgYSBQTkcsIEpQRUcsIG9yIEdJRiBpbWFnZSBmaWxlKSxcbiAgICogcmF0aGVyIHRoYW4gdG8gYSBXZWIgcGFnZSBjb250YWluaW5nIGFuIGltYWdlLlxuICAgKiBOb3RlIHRoYXQgdGhpcyBVUkwgU0hPVUxEIHNwZWNpZmljYWxseSByZWZlcmVuY2UgYSBwcm9maWxlIHBob3RvIG9mIHRoZSBFbmQtVXNlclxuICAgKiBzdWl0YWJsZSBmb3IgZGlzcGxheWluZyB3aGVuIGRlc2NyaWJpbmcgdGhlIEVuZC1Vc2VyLCByYXRoZXIgdGhhbiBhbiBhcmJpdHJhcnkgcGhvdG8gdGFrZW4gYnkgdGhlIEVuZC1Vc2VyXG4gICAqL1xuICBQaWN0dXJlID0gJ3BpY3R1cmUnLFxuXG4gIC8qKlxuICAgKiBTaG9ydGhhbmQgbmFtZSBieSB3aGljaCB0aGUgRW5kLVVzZXIgd2lzaGVzIHRvIGJlIHJlZmVycmVkIHRvLlxuICAgKi9cbiAgUHJlZmVycmVkVXNlcm5hbWUgPSAncHJlZmVycmVkX3VzZXJuYW1lJyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIHByb2ZpbGUgcGFnZS4gVGhlIGNvbnRlbnRzIG9mIHRoaXMgV2ViIHBhZ2UgU0hPVUxEIGJlIGFib3V0IHRoZSBFbmQtVXNlci5cbiAgICovXG4gIFByb2ZpbGUgPSAncHJvZmlsZScsXG5cbiAgLyoqXG4gICAqIFRoZSBFbmQtVXNlcidzIHRpbWUgem9uZVxuICAgKi9cbiAgVGltZXpvbmUgPSAndGltZXpvbmUnLFxuXG4gIC8qKlxuICAgKiBUaW1lIHRoZSBFbmQtVXNlcidzIGluZm9ybWF0aW9uIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEl0cyB2YWx1ZSBpcyBhIEpTT04gbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgZnJvbSAxOTcwLTAxLTAxVDA6MDowWlxuICAgKiBhcyBtZWFzdXJlZCBpbiBVVEMgdW50aWwgdGhlIGRhdGUvdGltZS5cbiAgICovXG4gIFVwZGF0ZWRBdCA9ICd1cGRhdGVkX2F0JyxcblxuICAvKipcbiAgICogVVJMIG9mIHRoZSBFbmQtVXNlcidzIFdlYiBwYWdlIG9yIGJsb2cuXG4gICAqIFRoaXMgV2ViIHBhZ2UgU0hPVUxEIGNvbnRhaW4gaW5mb3JtYXRpb24gcHVibGlzaGVkIGJ5IHRoZSBFbmQtVXNlciBvciBhbiBvcmdhbml6YXRpb24gdGhhdCB0aGUgRW5kLVVzZXIgaXMgYWZmaWxpYXRlZCB3aXRoLlxuICAgKi9cbiAgV2Vic2l0ZSA9ICd3ZWJzaXRlJ1xufVxuXG4vKipcbiAqIE1ldGhvZHMgb2YgdXNlciBzaWduLWluXG4gKi9cbmV4cG9ydCBlbnVtIFNpZ25JblR5cGUge1xuICAvKipcbiAgICogRW5kLXVzZXIgd2lsbCBzaWduIGluIHdpdGggYSB1c2VybmFtZSwgd2l0aCBvcHRpb25hbCBhbGlhc2VzXG4gICAqL1xuICBVc2VybmFtZSxcblxuICAvKipcbiAgICogRW5kLXVzZXIgd2lsbCBzaWduIGluIHVzaW5nIGFuIGVtYWlsIGFkZHJlc3NcbiAgICovXG4gIEVtYWlsLFxuXG4gIC8qKlxuICAgKiBFbmQtdXNlciB3aWxsIHNpZ24gaW4gdXNpbmcgYSBwaG9uZSBudW1iZXJcbiAgICovXG4gIFBob25lLFxuXG4gIC8qKlxuICAgKiBFbmQtdXNlciB3aWxsIHNpZ24gaW4gdXNpbmcgZWl0aGVyIGFuIGVtYWlsIGFkZHJlc3Mgb3IgcGhvbmUgbnVtYmVyXG4gICAqL1xuICBFbWFpbE9yUGhvbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9vbFRyaWdnZXJzIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLWNyZWF0ZS1hdXRoLWNoYWxsZW5nZS5odG1sXG4gICAqL1xuICBjcmVhdGVBdXRoQ2hhbGxlbmdlPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogQSBjdXN0b20gTWVzc2FnZSBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtY3VzdG9tLW1lc3NhZ2UuaHRtbFxuICAgKi9cbiAgY3VzdG9tTWVzc2FnZT86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1kZWZpbmUtYXV0aC1jaGFsbGVuZ2UuaHRtbFxuICAgKi9cbiAgZGVmaW5lQXV0aENoYWxsZW5nZT86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcG9zdC1hdXRoZW50aWNhdGlvbiBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcG9zdC1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqL1xuICBwb3N0QXV0aGVudGljYXRpb24/OiBsYW1iZGEuSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHBvc3QtY29uZmlybWF0aW9uIEFXUyBMYW1iZGEgdHJpZ2dlci5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1wb3N0LWNvbmZpcm1hdGlvbi5odG1sXG4gICAqL1xuICBwb3N0Q29uZmlybWF0aW9uPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogQSBwcmUtYXV0aGVudGljYXRpb24gQVdTIExhbWJkYSB0cmlnZ2VyLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLXByZS1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqL1xuICBwcmVBdXRoZW50aWNhdGlvbj86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcHJlLXJlZ2lzdHJhdGlvbiBBV1MgTGFtYmRhIHRyaWdnZXIuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcHJlLXNpZ24tdXAuaHRtbFxuICAgKi9cbiAgcHJlU2lnblVwPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogVmVyaWZpZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSByZXNwb25zZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS12ZXJpZnktYXV0aC1jaGFsbGVuZ2UtcmVzcG9uc2UuaHRtbFxuICAgKi9cbiAgdmVyaWZ5QXV0aENoYWxsZW5nZVJlc3BvbnNlPzogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogSW5kZXggc2lnbmF0dXJlXG4gICAqL1xuICBbdHJpZ2dlcjogc3RyaW5nXTogbGFtYmRhLklGdW5jdGlvbiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9vbFByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHVzZXIgcG9vbFxuICAgKiBAZGVmYXVsdCB1bmlxdWUgSURcbiAgICovXG4gIHBvb2xOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdXNlZCBmb3IgdXNlciByZWdpc3RyYXRpb24gJiBzaWduIGluLlxuICAgKiBBbGxvd3MgZWl0aGVyIHVzZXJuYW1lIHdpdGggYWxpYXNlcyBPUiBzaWduIGluIHdpdGggZW1haWwsIHBob25lLCBvciBib3RoLlxuICAgKiBAZGVmYXVsdCBTaWduSW5UeXBlLlVTRVJOQU1FXG4gICAqL1xuICBzaWduSW5UeXBlPzogU2lnbkluVHlwZTtcblxuICAvKipcbiAgICogQXR0cmlidXRlcyB0byBhbGxvdyBhcyB1c2VybmFtZSBhbGlhcy5cbiAgICogT25seSB2YWxpZCBpZiBzaWduSW5UeXBlIGlzIFVTRVJOQU1FXG4gICAqIEBkZWZhdWx0IG5vIGFsaWFzXG4gICAqL1xuICB1c2VybmFtZUFsaWFzQXR0cmlidXRlcz86IFVzZXJQb29sQXR0cmlidXRlW107XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZXMgd2hpY2ggQ29nbml0byB3aWxsIGF1dG9tYXRpY2FsbHkgc2VuZCBhIHZlcmlmaWNhdGlvbiBtZXNzYWdlIHRvLlxuICAgKiBNdXN0IGJlIGVpdGhlciBFTUFJTCwgUEhPTkUsIG9yIGJvdGguXG4gICAqIEBkZWZhdWx0IG5vIGF1dG8gdmVyaWZpY2F0aW9uXG4gICAqL1xuICBhdXRvVmVyaWZpZWRBdHRyaWJ1dGVzPzogVXNlclBvb2xBdHRyaWJ1dGVbXTtcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9ucyB0byB1c2UgZm9yIHN1cHBvcnRlZCBDb2duaXRvIHRyaWdnZXJzLlxuICAgKi9cbiAgbGFtYmRhVHJpZ2dlcnM/OiBVc2VyUG9vbFRyaWdnZXJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAvKipcbiAgICogVGhlIElEIG9mIGFuIGV4aXN0aW5nIHVzZXIgcG9vbFxuICAgKi9cbiAgdXNlclBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHVzZXJQb29sQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBuYW1lIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHVzZXJQb29sUHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGltcG9ydGVkIHVzZXIgcG9vbFxuICAgKi9cbiAgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyUG9vbCBleHRlbmRzIGNkay5JQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgdXNlciBwb29sIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvdmlkZXIgbmFtZSBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3ZpZGVyIFVSTCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHBvcnRzIGEgVXNlciBQb29sIGZyb20gdGhpcyBzdGFja1xuICAgKiBAcmV0dXJucyB1c2VyIHBvb2wgcHJvcHMgdGhhdCBjYW4gYmUgaW1wb3J0ZWQgaW50byBhbm90aGVyIHN0YWNrXG4gICAqL1xuICBleHBvcnQoKTogVXNlclBvb2xJbXBvcnRQcm9wcztcbn1cblxuLyoqXG4gKiBEZWZpbmUgYSBDb2duaXRvIFVzZXIgUG9vbFxuICovXG5leHBvcnQgY2xhc3MgVXNlclBvb2wgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgSVVzZXJQb29sIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIHBvb2wgcmVzb3VyY2VcbiAgICogQHBhcmFtIHNjb3BlIFBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIENvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gcHJvcHMgSW1wb3J0ZWQgdXNlciBwb29sIHByb3BlcnRpZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW1wb3J0KHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVXNlclBvb2xJbXBvcnRQcm9wcyk6IElVc2VyUG9vbCB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZFVzZXJQb29sKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCBJRCBvZiB0aGlzIHVzZXIgcG9vbCByZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdXNlciBwb29sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVXNlciBwb29sIHByb3ZpZGVyIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VyIHBvb2wgcHJvdmlkZXIgVVJMXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xQcm92aWRlclVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgdHJpZ2dlcnM6IENmblVzZXJQb29sLkxhbWJkYUNvbmZpZ1Byb3BlcnR5ID0geyB9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVXNlclBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBsZXQgYWxpYXNBdHRyaWJ1dGVzOiBVc2VyUG9vbEF0dHJpYnV0ZVtdIHwgdW5kZWZpbmVkO1xuICAgIGxldCB1c2VybmFtZUF0dHJpYnV0ZXM6IFVzZXJQb29sQXR0cmlidXRlW10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAocHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXMgIT0gbnVsbCAmJiBwcm9wcy5zaWduSW5UeXBlICE9PSBTaWduSW5UeXBlLlVzZXJuYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCd1c2VybmFtZUFsaWFzQXR0cmlidXRlcycgY2FuIG9ubHkgYmUgc2V0IHdpdGggYSBzaWduSW5UeXBlIG9mICdVU0VSTkFNRSdgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXNcbiAgICAgICYmICFwcm9wcy51c2VybmFtZUFsaWFzQXR0cmlidXRlcy5ldmVyeShhID0+IHtcbiAgICAgICAgcmV0dXJuIGEgPT09IFVzZXJQb29sQXR0cmlidXRlLkVtYWlsIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlByZWZlcnJlZFVzZXJuYW1lO1xuICAgICAgfSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJ3VzZXJuYW1lQWxpYXNBdHRyaWJ1dGVzJyBjYW4gb25seSBpbmNsdWRlIEVNQUlMLCBQSE9ORV9OVU1CRVIsIG9yIFBSRUZFUlJFRF9VU0VSTkFNRWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5hdXRvVmVyaWZpZWRBdHRyaWJ1dGVzXG4gICAgICAmJiAhcHJvcHMuYXV0b1ZlcmlmaWVkQXR0cmlidXRlcy5ldmVyeShhID0+IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLkVtYWlsIHx8IGEgPT09IFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAnYXV0b1ZlcmlmaWVkQXR0cmlidXRlcycgY2FuIG9ubHkgaW5jbHVkZSBFTUFJTCBvciBQSE9ORV9OVU1CRVJgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHByb3BzLnNpZ25JblR5cGUpIHtcbiAgICAgIGNhc2UgU2lnbkluVHlwZS5Vc2VybmFtZTpcbiAgICAgICAgYWxpYXNBdHRyaWJ1dGVzID0gcHJvcHMudXNlcm5hbWVBbGlhc0F0dHJpYnV0ZXM7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuRW1haWw6XG4gICAgICAgIHVzZXJuYW1lQXR0cmlidXRlcyA9IFtVc2VyUG9vbEF0dHJpYnV0ZS5FbWFpbF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuUGhvbmU6XG4gICAgICAgIHVzZXJuYW1lQXR0cmlidXRlcyA9IFtVc2VyUG9vbEF0dHJpYnV0ZS5QaG9uZU51bWJlcl07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNpZ25JblR5cGUuRW1haWxPclBob25lOlxuICAgICAgICB1c2VybmFtZUF0dHJpYnV0ZXMgPSBbVXNlclBvb2xBdHRyaWJ1dGUuRW1haWwsIFVzZXJQb29sQXR0cmlidXRlLlBob25lTnVtYmVyXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFsaWFzQXR0cmlidXRlcyA9IHByb3BzLnVzZXJuYW1lQWxpYXNBdHRyaWJ1dGVzO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAocHJvcHMubGFtYmRhVHJpZ2dlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhwcm9wcy5sYW1iZGFUcmlnZ2VycykpIHtcbiAgICAgICAgY29uc3QgdHJpZ2dlciA9IHByb3BzLmxhbWJkYVRyaWdnZXJzW3RdO1xuICAgICAgICBpZiAodHJpZ2dlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKHRyaWdnZXIgYXMgbGFtYmRhLklGdW5jdGlvbiwgdCk7XG4gICAgICAgICAgKHRoaXMudHJpZ2dlcnMgYXMgYW55KVt0XSA9ICh0cmlnZ2VyIGFzIGxhbWJkYS5JRnVuY3Rpb24pLmZ1bmN0aW9uQXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclBvb2wgPSBuZXcgQ2ZuVXNlclBvb2wodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgdXNlclBvb2xOYW1lOiBwcm9wcy5wb29sTmFtZSB8fCB0aGlzLm5vZGUudW5pcXVlSWQsXG4gICAgICB1c2VybmFtZUF0dHJpYnV0ZXMsXG4gICAgICBhbGlhc0F0dHJpYnV0ZXMsXG4gICAgICBhdXRvVmVyaWZpZWRBdHRyaWJ1dGVzOiBwcm9wcy5hdXRvVmVyaWZpZWRBdHRyaWJ1dGVzLFxuICAgICAgbGFtYmRhQ29uZmlnOiBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMudHJpZ2dlcnMpXG4gICAgfSk7XG4gICAgdGhpcy51c2VyUG9vbElkID0gdXNlclBvb2wudXNlclBvb2xJZDtcbiAgICB0aGlzLnVzZXJQb29sQXJuID0gdXNlclBvb2wudXNlclBvb2xBcm47XG4gICAgdGhpcy51c2VyUG9vbFByb3ZpZGVyTmFtZSA9IHVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJOYW1lO1xuICAgIHRoaXMudXNlclBvb2xQcm92aWRlclVybCA9IHVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJVcmw7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoICdDcmVhdGUgQXV0aCBDaGFsbGVuZ2UnIHRyaWdnZXJcbiAgICogR3JhbnRzIGFjY2VzcyBmcm9tIGNvZ25pdG8taWRwLmFtYXpvbmF3cy5jb20gdG8gdGhlIGxhbWJkYVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLWNyZWF0ZS1hdXRoLWNoYWxsZW5nZS5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uQ3JlYXRlQXV0aENoYWxsZW5nZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ0NyZWF0ZUF1dGhDaGFsbGVuZ2UnKTtcbiAgICB0aGlzLnRyaWdnZXJzLmNyZWF0ZUF1dGhDaGFsbGVuZ2UgPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ0N1c3RvbSBNZXNzYWdlJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1jdXN0b20tbWVzc2FnZS5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uQ3VzdG9tTWVzc2FnZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ0N1c3RvbU1lc3NhZ2UnKTtcbiAgICB0aGlzLnRyaWdnZXJzLmN1c3RvbU1lc3NhZ2UgPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ0RlZmluZSBBdXRoIENoYWxsZW5nZScgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtZGVmaW5lLWF1dGgtY2hhbGxlbmdlLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25EZWZpbmVBdXRoQ2hhbGxlbmdlKGZuOiBsYW1iZGEuSUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKGZuLCAnRGVmaW5lQXV0aENoYWxsZW5nZScpO1xuICAgIHRoaXMudHJpZ2dlcnMuZGVmaW5lQXV0aENoYWxsZW5nZSA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnUG9zdCBBdXRoZW50aWNhdGlvbicgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcG9zdC1hdXRoZW50aWNhdGlvbi5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uUG9zdEF1dGhlbnRpY2F0aW9uKGZuOiBsYW1iZGEuSUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hZGRMYW1iZGFQZXJtaXNzaW9uKGZuLCAnUG9zdEF1dGhlbnRpY2F0aW9uJyk7XG4gICAgdGhpcy50cmlnZ2Vycy5wb3N0QXV0aGVudGljYXRpb24gPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ1Bvc3QgQ29uZmlybWF0aW9uJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS1wb3N0LWNvbmZpcm1hdGlvbi5odG1sXG4gICAqIEBwYXJhbSBmbiB0aGUgbGFtYmRhIGZ1bmN0aW9uIHRvIGF0dGFjaFxuICAgKi9cbiAgcHVibGljIG9uUG9zdENvbmZpcm1hdGlvbihmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1Bvc3RDb25maXJtYXRpb24nKTtcbiAgICB0aGlzLnRyaWdnZXJzLnBvc3RDb25maXJtYXRpb24gPSBmbi5mdW5jdGlvbkFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggJ1ByZSBBdXRoZW50aWNhdGlvbicgdHJpZ2dlclxuICAgKiBHcmFudHMgYWNjZXNzIGZyb20gY29nbml0by1pZHAuYW1hem9uYXdzLmNvbSB0byB0aGUgbGFtYmRhXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZ25pdG8vbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3VzZXItcG9vbC1sYW1iZGEtcHJlLWF1dGhlbnRpY2F0aW9uLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25QcmVBdXRoZW50aWNhdGlvbihmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1ByZUF1dGhlbnRpY2F0aW9uJyk7XG4gICAgdGhpcy50cmlnZ2Vycy5wcmVBdXRoZW50aWNhdGlvbiA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnUHJlIFNpZ24gVXAnIHRyaWdnZXJcbiAgICogR3JhbnRzIGFjY2VzcyBmcm9tIGNvZ25pdG8taWRwLmFtYXpvbmF3cy5jb20gdG8gdGhlIGxhbWJkYVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2duaXRvL2xhdGVzdC9kZXZlbG9wZXJndWlkZS91c2VyLXBvb2wtbGFtYmRhLXByZS1zaWduLXVwLmh0bWxcbiAgICogQHBhcmFtIGZuIHRoZSBsYW1iZGEgZnVuY3Rpb24gdG8gYXR0YWNoXG4gICAqL1xuICBwdWJsaWMgb25QcmVTaWduVXAoZm46IGxhbWJkYS5JRnVuY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFkZExhbWJkYVBlcm1pc3Npb24oZm4sICdQcmVTaWduVXAnKTtcbiAgICB0aGlzLnRyaWdnZXJzLnByZVNpZ25VcCA9IGZuLmZ1bmN0aW9uQXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCAnVmVyaWZ5IEF1dGggQ2hhbGxlbmdlIFJlc3BvbnNlJyB0cmlnZ2VyXG4gICAqIEdyYW50cyBhY2Nlc3MgZnJvbSBjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tIHRvIHRoZSBsYW1iZGFcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29nbml0by9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvdXNlci1wb29sLWxhbWJkYS12ZXJpZnktYXV0aC1jaGFsbGVuZ2UtcmVzcG9uc2UuaHRtbFxuICAgKiBAcGFyYW0gZm4gdGhlIGxhbWJkYSBmdW5jdGlvbiB0byBhdHRhY2hcbiAgICovXG4gIHB1YmxpYyBvblZlcmlmeUF1dGhDaGFsbGVuZ2VSZXNwb25zZShmbjogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWRkTGFtYmRhUGVybWlzc2lvbihmbiwgJ1ZlcmlmeUF1dGhDaGFsbGVuZ2VSZXNwb25zZScpO1xuICAgIHRoaXMudHJpZ2dlcnMudmVyaWZ5QXV0aENoYWxsZW5nZVJlc3BvbnNlID0gZm4uZnVuY3Rpb25Bcm47XG4gIH1cblxuICBwdWJsaWMgZXhwb3J0KCk6IFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB1c2VyUG9vbElkOiBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnVXNlclBvb2xJZCcsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xJZCB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpLFxuICAgICAgdXNlclBvb2xBcm46IG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdVc2VyUG9vbEFybicsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xBcm4gfSkubWFrZUltcG9ydFZhbHVlKCkudG9TdHJpbmcoKSxcbiAgICAgIHVzZXJQb29sUHJvdmlkZXJOYW1lOiBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnVXNlclBvb2xQcm92aWRlck5hbWUnLCB7IHZhbHVlOiB0aGlzLnVzZXJQb29sUHJvdmlkZXJOYW1lIH0pLm1ha2VJbXBvcnRWYWx1ZSgpLnRvU3RyaW5nKCksXG4gICAgICB1c2VyUG9vbFByb3ZpZGVyVXJsOiBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnVXNlclBvb2xQcm92aWRlclVybCcsIHsgdmFsdWU6IHRoaXMudXNlclBvb2xQcm92aWRlclVybCB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTGFtYmRhUGVybWlzc2lvbihmbjogbGFtYmRhLklGdW5jdGlvbiwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgbm9ybWFsaXplID0gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSk7XG4gICAgZm4uYWRkUGVybWlzc2lvbihgJHtub3JtYWxpemV9Q29nbml0b2AsIHtcbiAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdjb2duaXRvLWlkcC5hbWF6b25hd3MuY29tJyksXG4gICAgICBzb3VyY2VBcm46IHRoaXMudXNlclBvb2xBcm5cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZSBhIHVzZXIgcG9vbCB3aGljaCBoYXMgYmVlbiBkZWNsYXJlZCBpbiBhbm90aGVyIHN0YWNrXG4gKi9cbmNsYXNzIEltcG9ydGVkVXNlclBvb2wgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgSVVzZXJQb29sIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiBhbiBleGlzdGluZyB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGltcG9ydGVkIHVzZXIgcG9vbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBuYW1lIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBpbXBvcnRlZCB1c2VyIHBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbFByb3ZpZGVyVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFVzZXJQb29sSW1wb3J0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy51c2VyUG9vbElkID0gcHJvcHMudXNlclBvb2xJZDtcbiAgICB0aGlzLnVzZXJQb29sQXJuID0gcHJvcHMudXNlclBvb2xBcm47XG4gICAgdGhpcy51c2VyUG9vbFByb3ZpZGVyTmFtZSA9IHByb3BzLnVzZXJQb29sUHJvdmlkZXJOYW1lO1xuICAgIHRoaXMudXNlclBvb2xQcm92aWRlclVybCA9IHByb3BzLnVzZXJQb29sUHJvdmlkZXJVcmw7XG4gIH1cblxuICBwdWJsaWMgZXhwb3J0KCk6IFVzZXJQb29sSW1wb3J0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLnByb3BzO1xuICB9XG59XG4iXX0=
{
"name": "@aws-cdk/aws-cognito",
"version": "0.25.3",
"version": "0.26.0",
"description": "The CDK Construct Library for AWS::Cognito",

@@ -57,16 +57,16 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "^0.25.3",
"cdk-build-tools": "^0.25.3",
"cfn2ts": "^0.25.3",
"pkglint": "^0.25.3"
"@aws-cdk/assert": "^0.26.0",
"cdk-build-tools": "^0.26.0",
"cfn2ts": "^0.26.0",
"pkglint": "^0.26.0"
},
"dependencies": {
"@aws-cdk/aws-iam": "^0.25.3",
"@aws-cdk/aws-lambda": "^0.25.3",
"@aws-cdk/cdk": "^0.25.3"
"@aws-cdk/aws-iam": "^0.26.0",
"@aws-cdk/aws-lambda": "^0.26.0",
"@aws-cdk/cdk": "^0.26.0"
},
"homepage": "https://github.com/awslabs/aws-cdk",
"peerDependencies": {
"@aws-cdk/aws-lambda": "^0.25.3",
"@aws-cdk/cdk": "^0.25.3"
"@aws-cdk/aws-lambda": "^0.26.0",
"@aws-cdk/cdk": "^0.26.0"
},

@@ -73,0 +73,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

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