Files
agent-claw/cdk/node_modules/aws-cdk-lib/aws-lex/lib/lex.generated.js
2026-05-06 18:55:16 -05:00

2 lines
319 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnResourcePolicy=exports.CfnBotVersion=exports.CfnBotAlias=exports.CfnBot=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnBot extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_lex.CfnBot",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Lex::Bot";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBotPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBot(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnBot(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBot.CFN_RESOURCE_TYPE_NAME}static arnForBot(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_lex_IBotRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBot),error}return resource.botRef.botArn}_autoBuildBotLocales;_botFileS3Location;_botLocales;_botTags;cdkTagManager;_dataPrivacy;_description;_errorLogSettings;_idleSessionTtlInSeconds;_name;_replication;_roleArn;_testBotAliasSettings;_testBotAliasTags;cfnPropertyNames={autoBuildBotLocales:"AutoBuildBotLocales",botFileS3Location:"BotFileS3Location",botLocales:"BotLocales",botTags:"BotTags",dataPrivacy:"DataPrivacy",description:"Description",errorLogSettings:"ErrorLogSettings",idleSessionTtlInSeconds:"IdleSessionTTLInSeconds",name:"Name",replication:"Replication",roleArn:"RoleArn",testBotAliasSettings:"TestBotAliasSettings",testBotAliasTags:"TestBotAliasTags"};constructor(scope,id,props){super(scope,id,{type:CfnBot.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_lex_CfnBotProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBot),error}cdk().requireProperty(props,"dataPrivacy",this),cdk().requireProperty(props,"idleSessionTtlInSeconds",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"roleArn",this),this._autoBuildBotLocales=props.autoBuildBotLocales,this._botFileS3Location=props.botFileS3Location,this._botLocales=props.botLocales,this._botTags=props.botTags,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Lex::Bot",void 0,{tagPropertyName:"botTags"}),this._dataPrivacy=props.dataPrivacy,this._description=props.description,this._errorLogSettings=props.errorLogSettings,this._idleSessionTtlInSeconds=props.idleSessionTtlInSeconds,this._name=props.name,this._replication=props.replication,this._roleArn=cdk().getRefProperty(props.roleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.roleArn,"roleArn","iam.IRoleRef | string"),this._testBotAliasSettings=props.testBotAliasSettings,this._testBotAliasTags=props.testBotAliasTags}get botRef(){return{botId:this.ref,botArn:this.attrArn}}get autoBuildBotLocales(){return this._autoBuildBotLocales}set autoBuildBotLocales(value){cdk().traceProperty(this.node,"AutoBuildBotLocales"),this._autoBuildBotLocales=value}get botFileS3Location(){return this._botFileS3Location}set botFileS3Location(value){cdk().traceProperty(this.node,"BotFileS3Location"),this._botFileS3Location=value}get botLocales(){return this._botLocales}set botLocales(value){cdk().traceProperty(this.node,"BotLocales"),this._botLocales=value}get botTags(){return this._botTags}set botTags(value){cdk().traceProperty(this.node,"BotTags"),this._botTags=value}get dataPrivacy(){return this._dataPrivacy}set dataPrivacy(value){cdk().traceProperty(this.node,"DataPrivacy"),this._dataPrivacy=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get errorLogSettings(){return this._errorLogSettings}set errorLogSettings(value){cdk().traceProperty(this.node,"ErrorLogSettings"),this._errorLogSettings=value}get idleSessionTtlInSeconds(){return this._idleSessionTtlInSeconds}set idleSessionTtlInSeconds(value){cdk().traceProperty(this.node,"IdleSessionTTLInSeconds"),this._idleSessionTtlInSeconds=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get replication(){return this._replication}set replication(value){cdk().traceProperty(this.node,"Replication"),this._replication=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get testBotAliasSettings(){return this._testBotAliasSettings}set testBotAliasSettings(value){cdk().traceProperty(this.node,"TestBotAliasSettings"),this._testBotAliasSettings=value}get testBotAliasTags(){return this._testBotAliasTags}set testBotAliasTags(value){cdk().traceProperty(this.node,"TestBotAliasTags"),this._testBotAliasTags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{autoBuildBotLocales:this._autoBuildBotLocales,botFileS3Location:this._botFileS3Location,botLocales:this._botLocales,botTags:this.cdkTagManager.renderTags(this._botTags),dataPrivacy:this._dataPrivacy,description:this._description,errorLogSettings:this._errorLogSettings,idleSessionTtlInSeconds:this._idleSessionTtlInSeconds,name:this._name,replication:this._replication,roleArn:this._roleArn,testBotAliasSettings:this._testBotAliasSettings,testBotAliasTags:this._testBotAliasTags}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBot.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBotPropsToCloudFormation(props)}}exports.CfnBot=CfnBot;function CfnBotCustomVocabularyItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayAs",cdk().validateString)(properties.displayAs)),errors.collect(cdk().propertyValidator("phrase",cdk().requiredValidator)(properties.phrase)),errors.collect(cdk().propertyValidator("phrase",cdk().validateString)(properties.phrase)),errors.collect(cdk().propertyValidator("weight",cdk().validateNumber)(properties.weight)),errors.wrap('supplied properties not correct for "CustomVocabularyItemProperty"')}function convertCfnBotCustomVocabularyItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCustomVocabularyItemPropertyValidator(properties).assertSuccess(),{DisplayAs:cdk().stringToCloudFormation(properties.displayAs),Phrase:cdk().stringToCloudFormation(properties.phrase),Weight:cdk().numberToCloudFormation(properties.weight)}):properties}function CfnBotCustomVocabularyItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayAs","DisplayAs",properties.DisplayAs!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayAs):void 0),ret.addPropertyResult("phrase","Phrase",properties.Phrase!=null?cfn_parse().FromCloudFormation.getString(properties.Phrase):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getNumber(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotCustomVocabularyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customVocabularyItems",cdk().requiredValidator)(properties.customVocabularyItems)),errors.collect(cdk().propertyValidator("customVocabularyItems",cdk().listValidator(CfnBotCustomVocabularyItemPropertyValidator))(properties.customVocabularyItems)),errors.wrap('supplied properties not correct for "CustomVocabularyProperty"')}function convertCfnBotCustomVocabularyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCustomVocabularyPropertyValidator(properties).assertSuccess(),{CustomVocabularyItems:cdk().listMapper(convertCfnBotCustomVocabularyItemPropertyToCloudFormation)(properties.customVocabularyItems)}):properties}function CfnBotCustomVocabularyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customVocabularyItems","CustomVocabularyItems",properties.CustomVocabularyItems!=null?cfn_parse().FromCloudFormation.getArray(CfnBotCustomVocabularyItemPropertyFromCloudFormation)(properties.CustomVocabularyItems):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSampleValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "SampleValueProperty"')}function convertCfnBotSampleValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSampleValuePropertyValidator(properties).assertSuccess(),{Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotSampleValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotTypeValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sampleValue",cdk().requiredValidator)(properties.sampleValue)),errors.collect(cdk().propertyValidator("sampleValue",CfnBotSampleValuePropertyValidator)(properties.sampleValue)),errors.collect(cdk().propertyValidator("synonyms",cdk().listValidator(CfnBotSampleValuePropertyValidator))(properties.synonyms)),errors.wrap('supplied properties not correct for "SlotTypeValueProperty"')}function convertCfnBotSlotTypeValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotTypeValuePropertyValidator(properties).assertSuccess(),{SampleValue:convertCfnBotSampleValuePropertyToCloudFormation(properties.sampleValue),Synonyms:cdk().listMapper(convertCfnBotSampleValuePropertyToCloudFormation)(properties.synonyms)}):properties}function CfnBotSlotTypeValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sampleValue","SampleValue",properties.SampleValue!=null?CfnBotSampleValuePropertyFromCloudFormation(properties.SampleValue):void 0),ret.addPropertyResult("synonyms","Synonyms",properties.Synonyms!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSampleValuePropertyFromCloudFormation)(properties.Synonyms):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAdvancedRecognitionSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("audioRecognitionStrategy",cdk().validateString)(properties.audioRecognitionStrategy)),errors.wrap('supplied properties not correct for "AdvancedRecognitionSettingProperty"')}function convertCfnBotAdvancedRecognitionSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAdvancedRecognitionSettingPropertyValidator(properties).assertSuccess(),{AudioRecognitionStrategy:cdk().stringToCloudFormation(properties.audioRecognitionStrategy)}):properties}function CfnBotAdvancedRecognitionSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("audioRecognitionStrategy","AudioRecognitionStrategy",properties.AudioRecognitionStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.AudioRecognitionStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValueRegexFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pattern",cdk().requiredValidator)(properties.pattern)),errors.collect(cdk().propertyValidator("pattern",cdk().validateString)(properties.pattern)),errors.wrap('supplied properties not correct for "SlotValueRegexFilterProperty"')}function convertCfnBotSlotValueRegexFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValueRegexFilterPropertyValidator(properties).assertSuccess(),{Pattern:cdk().stringToCloudFormation(properties.pattern)}):properties}function CfnBotSlotValueRegexFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getString(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValueSelectionSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("advancedRecognitionSetting",CfnBotAdvancedRecognitionSettingPropertyValidator)(properties.advancedRecognitionSetting)),errors.collect(cdk().propertyValidator("regexFilter",CfnBotSlotValueRegexFilterPropertyValidator)(properties.regexFilter)),errors.collect(cdk().propertyValidator("resolutionStrategy",cdk().requiredValidator)(properties.resolutionStrategy)),errors.collect(cdk().propertyValidator("resolutionStrategy",cdk().validateString)(properties.resolutionStrategy)),errors.wrap('supplied properties not correct for "SlotValueSelectionSettingProperty"')}function convertCfnBotSlotValueSelectionSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValueSelectionSettingPropertyValidator(properties).assertSuccess(),{AdvancedRecognitionSetting:convertCfnBotAdvancedRecognitionSettingPropertyToCloudFormation(properties.advancedRecognitionSetting),RegexFilter:convertCfnBotSlotValueRegexFilterPropertyToCloudFormation(properties.regexFilter),ResolutionStrategy:cdk().stringToCloudFormation(properties.resolutionStrategy)}):properties}function CfnBotSlotValueSelectionSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("advancedRecognitionSetting","AdvancedRecognitionSetting",properties.AdvancedRecognitionSetting!=null?CfnBotAdvancedRecognitionSettingPropertyFromCloudFormation(properties.AdvancedRecognitionSetting):void 0),ret.addPropertyResult("regexFilter","RegexFilter",properties.RegexFilter!=null?CfnBotSlotValueRegexFilterPropertyFromCloudFormation(properties.RegexFilter):void 0),ret.addPropertyResult("resolutionStrategy","ResolutionStrategy",properties.ResolutionStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ResolutionStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotGrammarSlotTypeSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().requiredValidator)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3ObjectKey",cdk().requiredValidator)(properties.s3ObjectKey)),errors.collect(cdk().propertyValidator("s3ObjectKey",cdk().validateString)(properties.s3ObjectKey)),errors.wrap('supplied properties not correct for "GrammarSlotTypeSourceProperty"')}function convertCfnBotGrammarSlotTypeSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotGrammarSlotTypeSourcePropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName),S3ObjectKey:cdk().stringToCloudFormation(properties.s3ObjectKey)}):properties}function CfnBotGrammarSlotTypeSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addPropertyResult("s3ObjectKey","S3ObjectKey",properties.S3ObjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotGrammarSlotTypeSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("source",CfnBotGrammarSlotTypeSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "GrammarSlotTypeSettingProperty"')}function convertCfnBotGrammarSlotTypeSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotGrammarSlotTypeSettingPropertyValidator(properties).assertSuccess(),{Source:convertCfnBotGrammarSlotTypeSourcePropertyToCloudFormation(properties.source)}):properties}function CfnBotGrammarSlotTypeSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("source","Source",properties.Source!=null?CfnBotGrammarSlotTypeSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotExternalSourceSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("grammarSlotTypeSetting",CfnBotGrammarSlotTypeSettingPropertyValidator)(properties.grammarSlotTypeSetting)),errors.wrap('supplied properties not correct for "ExternalSourceSettingProperty"')}function convertCfnBotExternalSourceSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotExternalSourceSettingPropertyValidator(properties).assertSuccess(),{GrammarSlotTypeSetting:convertCfnBotGrammarSlotTypeSettingPropertyToCloudFormation(properties.grammarSlotTypeSetting)}):properties}function CfnBotExternalSourceSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("grammarSlotTypeSetting","GrammarSlotTypeSetting",properties.GrammarSlotTypeSetting!=null?CfnBotGrammarSlotTypeSettingPropertyFromCloudFormation(properties.GrammarSlotTypeSetting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSubSlotTypeCompositionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("slotTypeId",cdk().validateString)(properties.slotTypeId)),errors.collect(cdk().propertyValidator("slotTypeName",cdk().validateString)(properties.slotTypeName)),errors.wrap('supplied properties not correct for "SubSlotTypeCompositionProperty"')}function convertCfnBotSubSlotTypeCompositionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSubSlotTypeCompositionPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SlotTypeId:cdk().stringToCloudFormation(properties.slotTypeId),SlotTypeName:cdk().stringToCloudFormation(properties.slotTypeName)}):properties}function CfnBotSubSlotTypeCompositionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("slotTypeId","SlotTypeId",properties.SlotTypeId!=null?cfn_parse().FromCloudFormation.getString(properties.SlotTypeId):void 0),ret.addPropertyResult("slotTypeName","SlotTypeName",properties.SlotTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.SlotTypeName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotCompositeSlotTypeSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("subSlots",cdk().listValidator(CfnBotSubSlotTypeCompositionPropertyValidator))(properties.subSlots)),errors.wrap('supplied properties not correct for "CompositeSlotTypeSettingProperty"')}function convertCfnBotCompositeSlotTypeSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCompositeSlotTypeSettingPropertyValidator(properties).assertSuccess(),{SubSlots:cdk().listMapper(convertCfnBotSubSlotTypeCompositionPropertyToCloudFormation)(properties.subSlots)}):properties}function CfnBotCompositeSlotTypeSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("subSlots","SubSlots",properties.SubSlots!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSubSlotTypeCompositionPropertyFromCloudFormation)(properties.SubSlots):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("compositeSlotTypeSetting",CfnBotCompositeSlotTypeSettingPropertyValidator)(properties.compositeSlotTypeSetting)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("externalSourceSetting",CfnBotExternalSourceSettingPropertyValidator)(properties.externalSourceSetting)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parentSlotTypeSignature",cdk().validateString)(properties.parentSlotTypeSignature)),errors.collect(cdk().propertyValidator("slotTypeValues",cdk().listValidator(CfnBotSlotTypeValuePropertyValidator))(properties.slotTypeValues)),errors.collect(cdk().propertyValidator("valueSelectionSetting",CfnBotSlotValueSelectionSettingPropertyValidator)(properties.valueSelectionSetting)),errors.wrap('supplied properties not correct for "SlotTypeProperty"')}function convertCfnBotSlotTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotTypePropertyValidator(properties).assertSuccess(),{CompositeSlotTypeSetting:convertCfnBotCompositeSlotTypeSettingPropertyToCloudFormation(properties.compositeSlotTypeSetting),Description:cdk().stringToCloudFormation(properties.description),ExternalSourceSetting:convertCfnBotExternalSourceSettingPropertyToCloudFormation(properties.externalSourceSetting),Name:cdk().stringToCloudFormation(properties.name),ParentSlotTypeSignature:cdk().stringToCloudFormation(properties.parentSlotTypeSignature),SlotTypeValues:cdk().listMapper(convertCfnBotSlotTypeValuePropertyToCloudFormation)(properties.slotTypeValues),ValueSelectionSetting:convertCfnBotSlotValueSelectionSettingPropertyToCloudFormation(properties.valueSelectionSetting)}):properties}function CfnBotSlotTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("compositeSlotTypeSetting","CompositeSlotTypeSetting",properties.CompositeSlotTypeSetting!=null?CfnBotCompositeSlotTypeSettingPropertyFromCloudFormation(properties.CompositeSlotTypeSetting):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("externalSourceSetting","ExternalSourceSetting",properties.ExternalSourceSetting!=null?CfnBotExternalSourceSettingPropertyFromCloudFormation(properties.ExternalSourceSetting):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parentSlotTypeSignature","ParentSlotTypeSignature",properties.ParentSlotTypeSignature!=null?cfn_parse().FromCloudFormation.getString(properties.ParentSlotTypeSignature):void 0),ret.addPropertyResult("slotTypeValues","SlotTypeValues",properties.SlotTypeValues!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotTypeValuePropertyFromCloudFormation)(properties.SlotTypeValues):void 0),ret.addPropertyResult("valueSelectionSetting","ValueSelectionSetting",properties.ValueSelectionSetting!=null?CfnBotSlotValueSelectionSettingPropertyFromCloudFormation(properties.ValueSelectionSetting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotCustomPayloadPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "CustomPayloadProperty"')}function convertCfnBotCustomPayloadPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCustomPayloadPropertyValidator(properties).assertSuccess(),{Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotCustomPayloadPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotButtonPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ButtonProperty"')}function convertCfnBotButtonPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotButtonPropertyValidator(properties).assertSuccess(),{Text:cdk().stringToCloudFormation(properties.text),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotButtonPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotImageResponseCardPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("buttons",cdk().listValidator(CfnBotButtonPropertyValidator))(properties.buttons)),errors.collect(cdk().propertyValidator("imageUrl",cdk().validateString)(properties.imageUrl)),errors.collect(cdk().propertyValidator("subtitle",cdk().validateString)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ImageResponseCardProperty"')}function convertCfnBotImageResponseCardPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotImageResponseCardPropertyValidator(properties).assertSuccess(),{Buttons:cdk().listMapper(convertCfnBotButtonPropertyToCloudFormation)(properties.buttons),ImageUrl:cdk().stringToCloudFormation(properties.imageUrl),Subtitle:cdk().stringToCloudFormation(properties.subtitle),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnBotImageResponseCardPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("buttons","Buttons",properties.Buttons!=null?cfn_parse().FromCloudFormation.getArray(CfnBotButtonPropertyFromCloudFormation)(properties.Buttons):void 0),ret.addPropertyResult("imageUrl","ImageUrl",properties.ImageUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ImageUrl):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?cfn_parse().FromCloudFormation.getString(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPlainTextMessagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PlainTextMessageProperty"')}function convertCfnBotPlainTextMessagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPlainTextMessagePropertyValidator(properties).assertSuccess(),{Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotPlainTextMessagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSSMLMessagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "SSMLMessageProperty"')}function convertCfnBotSSMLMessagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSSMLMessagePropertyValidator(properties).assertSuccess(),{Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotSSMLMessagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotMessagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customPayload",CfnBotCustomPayloadPropertyValidator)(properties.customPayload)),errors.collect(cdk().propertyValidator("imageResponseCard",CfnBotImageResponseCardPropertyValidator)(properties.imageResponseCard)),errors.collect(cdk().propertyValidator("plainTextMessage",CfnBotPlainTextMessagePropertyValidator)(properties.plainTextMessage)),errors.collect(cdk().propertyValidator("ssmlMessage",CfnBotSSMLMessagePropertyValidator)(properties.ssmlMessage)),errors.wrap('supplied properties not correct for "MessageProperty"')}function convertCfnBotMessagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotMessagePropertyValidator(properties).assertSuccess(),{CustomPayload:convertCfnBotCustomPayloadPropertyToCloudFormation(properties.customPayload),ImageResponseCard:convertCfnBotImageResponseCardPropertyToCloudFormation(properties.imageResponseCard),PlainTextMessage:convertCfnBotPlainTextMessagePropertyToCloudFormation(properties.plainTextMessage),SSMLMessage:convertCfnBotSSMLMessagePropertyToCloudFormation(properties.ssmlMessage)}):properties}function CfnBotMessagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customPayload","CustomPayload",properties.CustomPayload!=null?CfnBotCustomPayloadPropertyFromCloudFormation(properties.CustomPayload):void 0),ret.addPropertyResult("imageResponseCard","ImageResponseCard",properties.ImageResponseCard!=null?CfnBotImageResponseCardPropertyFromCloudFormation(properties.ImageResponseCard):void 0),ret.addPropertyResult("plainTextMessage","PlainTextMessage",properties.PlainTextMessage!=null?CfnBotPlainTextMessagePropertyFromCloudFormation(properties.PlainTextMessage):void 0),ret.addPropertyResult("ssmlMessage","SSMLMessage",properties.SSMLMessage!=null?CfnBotSSMLMessagePropertyFromCloudFormation(properties.SSMLMessage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotMessageGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",CfnBotMessagePropertyValidator)(properties.message)),errors.collect(cdk().propertyValidator("variations",cdk().listValidator(CfnBotMessagePropertyValidator))(properties.variations)),errors.wrap('supplied properties not correct for "MessageGroupProperty"')}function convertCfnBotMessageGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotMessageGroupPropertyValidator(properties).assertSuccess(),{Message:convertCfnBotMessagePropertyToCloudFormation(properties.message),Variations:cdk().listMapper(convertCfnBotMessagePropertyToCloudFormation)(properties.variations)}):properties}function CfnBotMessageGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?CfnBotMessagePropertyFromCloudFormation(properties.Message):void 0),ret.addPropertyResult("variations","Variations",properties.Variations!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessagePropertyFromCloudFormation)(properties.Variations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotResponseSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().requiredValidator)(properties.messageGroupsList)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().listValidator(CfnBotMessageGroupPropertyValidator))(properties.messageGroupsList)),errors.wrap('supplied properties not correct for "ResponseSpecificationProperty"')}function convertCfnBotResponseSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotResponseSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),MessageGroupsList:cdk().listMapper(convertCfnBotMessageGroupPropertyToCloudFormation)(properties.messageGroupsList)}):properties}function CfnBotResponseSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("messageGroupsList","MessageGroupsList",properties.MessageGroupsList!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessageGroupPropertyFromCloudFormation)(properties.MessageGroupsList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDialogActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("slotToElicit",cdk().validateString)(properties.slotToElicit)),errors.collect(cdk().propertyValidator("suppressNextMessage",cdk().validateBoolean)(properties.suppressNextMessage)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DialogActionProperty"')}function convertCfnBotDialogActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDialogActionPropertyValidator(properties).assertSuccess(),{SlotToElicit:cdk().stringToCloudFormation(properties.slotToElicit),SuppressNextMessage:cdk().booleanToCloudFormation(properties.suppressNextMessage),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnBotDialogActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("slotToElicit","SlotToElicit",properties.SlotToElicit!=null?cfn_parse().FromCloudFormation.getString(properties.SlotToElicit):void 0),ret.addPropertyResult("suppressNextMessage","SuppressNextMessage",properties.SuppressNextMessage!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SuppressNextMessage):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSessionAttributePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "SessionAttributeProperty"')}function convertCfnBotSessionAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSessionAttributePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBotSessionAttributePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interpretedValue",cdk().validateString)(properties.interpretedValue)),errors.wrap('supplied properties not correct for "SlotValueProperty"')}function convertCfnBotSlotValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValuePropertyValidator(properties).assertSuccess(),{InterpretedValue:cdk().stringToCloudFormation(properties.interpretedValue)}):properties}function CfnBotSlotValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interpretedValue","InterpretedValue",properties.InterpretedValue!=null?cfn_parse().FromCloudFormation.getString(properties.InterpretedValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValueOverridePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("shape",cdk().validateString)(properties.shape)),errors.collect(cdk().propertyValidator("value",CfnBotSlotValuePropertyValidator)(properties.value)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnBotSlotValueOverridePropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "SlotValueOverrideProperty"')}function convertCfnBotSlotValueOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValueOverridePropertyValidator(properties).assertSuccess(),{Shape:cdk().stringToCloudFormation(properties.shape),Value:convertCfnBotSlotValuePropertyToCloudFormation(properties.value),Values:cdk().listMapper(convertCfnBotSlotValueOverridePropertyToCloudFormation)(properties.values)}):properties}function CfnBotSlotValueOverridePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("shape","Shape",properties.Shape!=null?cfn_parse().FromCloudFormation.getString(properties.Shape):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnBotSlotValuePropertyFromCloudFormation(properties.Value):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotValueOverridePropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValueOverrideMapPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("slotName",cdk().validateString)(properties.slotName)),errors.collect(cdk().propertyValidator("slotValueOverride",CfnBotSlotValueOverridePropertyValidator)(properties.slotValueOverride)),errors.wrap('supplied properties not correct for "SlotValueOverrideMapProperty"')}function convertCfnBotSlotValueOverrideMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValueOverrideMapPropertyValidator(properties).assertSuccess(),{SlotName:cdk().stringToCloudFormation(properties.slotName),SlotValueOverride:convertCfnBotSlotValueOverridePropertyToCloudFormation(properties.slotValueOverride)}):properties}function CfnBotSlotValueOverrideMapPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("slotName","SlotName",properties.SlotName!=null?cfn_parse().FromCloudFormation.getString(properties.SlotName):void 0),ret.addPropertyResult("slotValueOverride","SlotValueOverride",properties.SlotValueOverride!=null?CfnBotSlotValueOverridePropertyFromCloudFormation(properties.SlotValueOverride):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotIntentOverridePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("slots",cdk().listValidator(CfnBotSlotValueOverrideMapPropertyValidator))(properties.slots)),errors.wrap('supplied properties not correct for "IntentOverrideProperty"')}function convertCfnBotIntentOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotIntentOverridePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Slots:cdk().listMapper(convertCfnBotSlotValueOverrideMapPropertyToCloudFormation)(properties.slots)}):properties}function CfnBotIntentOverridePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("slots","Slots",properties.Slots!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotValueOverrideMapPropertyFromCloudFormation)(properties.Slots):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDialogStatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dialogAction",CfnBotDialogActionPropertyValidator)(properties.dialogAction)),errors.collect(cdk().propertyValidator("intent",CfnBotIntentOverridePropertyValidator)(properties.intent)),errors.collect(cdk().propertyValidator("sessionAttributes",cdk().listValidator(CfnBotSessionAttributePropertyValidator))(properties.sessionAttributes)),errors.wrap('supplied properties not correct for "DialogStateProperty"')}function convertCfnBotDialogStatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDialogStatePropertyValidator(properties).assertSuccess(),{DialogAction:convertCfnBotDialogActionPropertyToCloudFormation(properties.dialogAction),Intent:convertCfnBotIntentOverridePropertyToCloudFormation(properties.intent),SessionAttributes:cdk().listMapper(convertCfnBotSessionAttributePropertyToCloudFormation)(properties.sessionAttributes)}):properties}function CfnBotDialogStatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dialogAction","DialogAction",properties.DialogAction!=null?CfnBotDialogActionPropertyFromCloudFormation(properties.DialogAction):void 0),ret.addPropertyResult("intent","Intent",properties.Intent!=null?CfnBotIntentOverridePropertyFromCloudFormation(properties.Intent):void 0),ret.addPropertyResult("sessionAttributes","SessionAttributes",properties.SessionAttributes!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSessionAttributePropertyFromCloudFormation)(properties.SessionAttributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDefaultConditionalBranchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nextStep",CfnBotDialogStatePropertyValidator)(properties.nextStep)),errors.collect(cdk().propertyValidator("response",CfnBotResponseSpecificationPropertyValidator)(properties.response)),errors.wrap('supplied properties not correct for "DefaultConditionalBranchProperty"')}function convertCfnBotDefaultConditionalBranchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDefaultConditionalBranchPropertyValidator(properties).assertSuccess(),{NextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.nextStep),Response:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.response)}):properties}function CfnBotDefaultConditionalBranchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nextStep","NextStep",properties.NextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.NextStep):void 0),ret.addPropertyResult("response","Response",properties.Response!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.Response):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expressionString",cdk().requiredValidator)(properties.expressionString)),errors.collect(cdk().propertyValidator("expressionString",cdk().validateString)(properties.expressionString)),errors.wrap('supplied properties not correct for "ConditionProperty"')}function convertCfnBotConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotConditionPropertyValidator(properties).assertSuccess(),{ExpressionString:cdk().stringToCloudFormation(properties.expressionString)}):properties}function CfnBotConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expressionString","ExpressionString",properties.ExpressionString!=null?cfn_parse().FromCloudFormation.getString(properties.ExpressionString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotConditionalBranchPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",CfnBotConditionPropertyValidator)(properties.condition)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("nextStep",cdk().requiredValidator)(properties.nextStep)),errors.collect(cdk().propertyValidator("nextStep",CfnBotDialogStatePropertyValidator)(properties.nextStep)),errors.collect(cdk().propertyValidator("response",CfnBotResponseSpecificationPropertyValidator)(properties.response)),errors.wrap('supplied properties not correct for "ConditionalBranchProperty"')}function convertCfnBotConditionalBranchPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotConditionalBranchPropertyValidator(properties).assertSuccess(),{Condition:convertCfnBotConditionPropertyToCloudFormation(properties.condition),Name:cdk().stringToCloudFormation(properties.name),NextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.nextStep),Response:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.response)}):properties}function CfnBotConditionalBranchPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("condition","Condition",properties.Condition!=null?CfnBotConditionPropertyFromCloudFormation(properties.Condition):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("nextStep","NextStep",properties.NextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.NextStep):void 0),ret.addPropertyResult("response","Response",properties.Response!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.Response):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotConditionalSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalBranches",cdk().requiredValidator)(properties.conditionalBranches)),errors.collect(cdk().propertyValidator("conditionalBranches",cdk().listValidator(CfnBotConditionalBranchPropertyValidator))(properties.conditionalBranches)),errors.collect(cdk().propertyValidator("defaultBranch",cdk().requiredValidator)(properties.defaultBranch)),errors.collect(cdk().propertyValidator("defaultBranch",CfnBotDefaultConditionalBranchPropertyValidator)(properties.defaultBranch)),errors.collect(cdk().propertyValidator("isActive",cdk().requiredValidator)(properties.isActive)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.wrap('supplied properties not correct for "ConditionalSpecificationProperty"')}function convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotConditionalSpecificationPropertyValidator(properties).assertSuccess(),{ConditionalBranches:cdk().listMapper(convertCfnBotConditionalBranchPropertyToCloudFormation)(properties.conditionalBranches),DefaultBranch:convertCfnBotDefaultConditionalBranchPropertyToCloudFormation(properties.defaultBranch),IsActive:cdk().booleanToCloudFormation(properties.isActive)}):properties}function CfnBotConditionalSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalBranches","ConditionalBranches",properties.ConditionalBranches!=null?cfn_parse().FromCloudFormation.getArray(CfnBotConditionalBranchPropertyFromCloudFormation)(properties.ConditionalBranches):void 0),ret.addPropertyResult("defaultBranch","DefaultBranch",properties.DefaultBranch!=null?CfnBotDefaultConditionalBranchPropertyFromCloudFormation(properties.DefaultBranch):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPostDialogCodeHookInvocationSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("failureConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.failureConditional)),errors.collect(cdk().propertyValidator("failureNextStep",CfnBotDialogStatePropertyValidator)(properties.failureNextStep)),errors.collect(cdk().propertyValidator("failureResponse",CfnBotResponseSpecificationPropertyValidator)(properties.failureResponse)),errors.collect(cdk().propertyValidator("successConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.successConditional)),errors.collect(cdk().propertyValidator("successNextStep",CfnBotDialogStatePropertyValidator)(properties.successNextStep)),errors.collect(cdk().propertyValidator("successResponse",CfnBotResponseSpecificationPropertyValidator)(properties.successResponse)),errors.collect(cdk().propertyValidator("timeoutConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.timeoutConditional)),errors.collect(cdk().propertyValidator("timeoutNextStep",CfnBotDialogStatePropertyValidator)(properties.timeoutNextStep)),errors.collect(cdk().propertyValidator("timeoutResponse",CfnBotResponseSpecificationPropertyValidator)(properties.timeoutResponse)),errors.wrap('supplied properties not correct for "PostDialogCodeHookInvocationSpecificationProperty"')}function convertCfnBotPostDialogCodeHookInvocationSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPostDialogCodeHookInvocationSpecificationPropertyValidator(properties).assertSuccess(),{FailureConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.failureConditional),FailureNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.failureNextStep),FailureResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.failureResponse),SuccessConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.successConditional),SuccessNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.successNextStep),SuccessResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.successResponse),TimeoutConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.timeoutConditional),TimeoutNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.timeoutNextStep),TimeoutResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.timeoutResponse)}):properties}function CfnBotPostDialogCodeHookInvocationSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("failureConditional","FailureConditional",properties.FailureConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.FailureConditional):void 0),ret.addPropertyResult("failureNextStep","FailureNextStep",properties.FailureNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.FailureNextStep):void 0),ret.addPropertyResult("failureResponse","FailureResponse",properties.FailureResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.FailureResponse):void 0),ret.addPropertyResult("successConditional","SuccessConditional",properties.SuccessConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.SuccessConditional):void 0),ret.addPropertyResult("successNextStep","SuccessNextStep",properties.SuccessNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.SuccessNextStep):void 0),ret.addPropertyResult("successResponse","SuccessResponse",properties.SuccessResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.SuccessResponse):void 0),ret.addPropertyResult("timeoutConditional","TimeoutConditional",properties.TimeoutConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.TimeoutConditional):void 0),ret.addPropertyResult("timeoutNextStep","TimeoutNextStep",properties.TimeoutNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.TimeoutNextStep):void 0),ret.addPropertyResult("timeoutResponse","TimeoutResponse",properties.TimeoutResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.TimeoutResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDialogCodeHookInvocationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enableCodeHookInvocation",cdk().requiredValidator)(properties.enableCodeHookInvocation)),errors.collect(cdk().propertyValidator("enableCodeHookInvocation",cdk().validateBoolean)(properties.enableCodeHookInvocation)),errors.collect(cdk().propertyValidator("invocationLabel",cdk().validateString)(properties.invocationLabel)),errors.collect(cdk().propertyValidator("isActive",cdk().requiredValidator)(properties.isActive)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.collect(cdk().propertyValidator("postCodeHookSpecification",cdk().requiredValidator)(properties.postCodeHookSpecification)),errors.collect(cdk().propertyValidator("postCodeHookSpecification",CfnBotPostDialogCodeHookInvocationSpecificationPropertyValidator)(properties.postCodeHookSpecification)),errors.wrap('supplied properties not correct for "DialogCodeHookInvocationSettingProperty"')}function convertCfnBotDialogCodeHookInvocationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDialogCodeHookInvocationSettingPropertyValidator(properties).assertSuccess(),{EnableCodeHookInvocation:cdk().booleanToCloudFormation(properties.enableCodeHookInvocation),InvocationLabel:cdk().stringToCloudFormation(properties.invocationLabel),IsActive:cdk().booleanToCloudFormation(properties.isActive),PostCodeHookSpecification:convertCfnBotPostDialogCodeHookInvocationSpecificationPropertyToCloudFormation(properties.postCodeHookSpecification)}):properties}function CfnBotDialogCodeHookInvocationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enableCodeHookInvocation","EnableCodeHookInvocation",properties.EnableCodeHookInvocation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableCodeHookInvocation):void 0),ret.addPropertyResult("invocationLabel","InvocationLabel",properties.InvocationLabel!=null?cfn_parse().FromCloudFormation.getString(properties.InvocationLabel):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addPropertyResult("postCodeHookSpecification","PostCodeHookSpecification",properties.PostCodeHookSpecification!=null?CfnBotPostDialogCodeHookInvocationSpecificationPropertyFromCloudFormation(properties.PostCodeHookSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotInitialResponseSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHook",CfnBotDialogCodeHookInvocationSettingPropertyValidator)(properties.codeHook)),errors.collect(cdk().propertyValidator("conditional",CfnBotConditionalSpecificationPropertyValidator)(properties.conditional)),errors.collect(cdk().propertyValidator("initialResponse",CfnBotResponseSpecificationPropertyValidator)(properties.initialResponse)),errors.collect(cdk().propertyValidator("nextStep",CfnBotDialogStatePropertyValidator)(properties.nextStep)),errors.wrap('supplied properties not correct for "InitialResponseSettingProperty"')}function convertCfnBotInitialResponseSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotInitialResponseSettingPropertyValidator(properties).assertSuccess(),{CodeHook:convertCfnBotDialogCodeHookInvocationSettingPropertyToCloudFormation(properties.codeHook),Conditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.conditional),InitialResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.initialResponse),NextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.nextStep)}):properties}function CfnBotInitialResponseSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHook","CodeHook",properties.CodeHook!=null?CfnBotDialogCodeHookInvocationSettingPropertyFromCloudFormation(properties.CodeHook):void 0),ret.addPropertyResult("conditional","Conditional",properties.Conditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.Conditional):void 0),ret.addPropertyResult("initialResponse","InitialResponse",properties.InitialResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.InitialResponse):void 0),ret.addPropertyResult("nextStep","NextStep",properties.NextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.NextStep):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPostFulfillmentStatusSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("failureConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.failureConditional)),errors.collect(cdk().propertyValidator("failureNextStep",CfnBotDialogStatePropertyValidator)(properties.failureNextStep)),errors.collect(cdk().propertyValidator("failureResponse",CfnBotResponseSpecificationPropertyValidator)(properties.failureResponse)),errors.collect(cdk().propertyValidator("successConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.successConditional)),errors.collect(cdk().propertyValidator("successNextStep",CfnBotDialogStatePropertyValidator)(properties.successNextStep)),errors.collect(cdk().propertyValidator("successResponse",CfnBotResponseSpecificationPropertyValidator)(properties.successResponse)),errors.collect(cdk().propertyValidator("timeoutConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.timeoutConditional)),errors.collect(cdk().propertyValidator("timeoutNextStep",CfnBotDialogStatePropertyValidator)(properties.timeoutNextStep)),errors.collect(cdk().propertyValidator("timeoutResponse",CfnBotResponseSpecificationPropertyValidator)(properties.timeoutResponse)),errors.wrap('supplied properties not correct for "PostFulfillmentStatusSpecificationProperty"')}function convertCfnBotPostFulfillmentStatusSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPostFulfillmentStatusSpecificationPropertyValidator(properties).assertSuccess(),{FailureConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.failureConditional),FailureNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.failureNextStep),FailureResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.failureResponse),SuccessConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.successConditional),SuccessNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.successNextStep),SuccessResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.successResponse),TimeoutConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.timeoutConditional),TimeoutNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.timeoutNextStep),TimeoutResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.timeoutResponse)}):properties}function CfnBotPostFulfillmentStatusSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("failureConditional","FailureConditional",properties.FailureConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.FailureConditional):void 0),ret.addPropertyResult("failureNextStep","FailureNextStep",properties.FailureNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.FailureNextStep):void 0),ret.addPropertyResult("failureResponse","FailureResponse",properties.FailureResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.FailureResponse):void 0),ret.addPropertyResult("successConditional","SuccessConditional",properties.SuccessConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.SuccessConditional):void 0),ret.addPropertyResult("successNextStep","SuccessNextStep",properties.SuccessNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.SuccessNextStep):void 0),ret.addPropertyResult("successResponse","SuccessResponse",properties.SuccessResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.SuccessResponse):void 0),ret.addPropertyResult("timeoutConditional","TimeoutConditional",properties.TimeoutConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.TimeoutConditional):void 0),ret.addPropertyResult("timeoutNextStep","TimeoutNextStep",properties.TimeoutNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.TimeoutNextStep):void 0),ret.addPropertyResult("timeoutResponse","TimeoutResponse",properties.TimeoutResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.TimeoutResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotFulfillmentUpdateResponseSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("frequencyInSeconds",cdk().requiredValidator)(properties.frequencyInSeconds)),errors.collect(cdk().propertyValidator("frequencyInSeconds",cdk().validateNumber)(properties.frequencyInSeconds)),errors.collect(cdk().propertyValidator("messageGroups",cdk().requiredValidator)(properties.messageGroups)),errors.collect(cdk().propertyValidator("messageGroups",cdk().listValidator(CfnBotMessageGroupPropertyValidator))(properties.messageGroups)),errors.wrap('supplied properties not correct for "FulfillmentUpdateResponseSpecificationProperty"')}function convertCfnBotFulfillmentUpdateResponseSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotFulfillmentUpdateResponseSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),FrequencyInSeconds:cdk().numberToCloudFormation(properties.frequencyInSeconds),MessageGroups:cdk().listMapper(convertCfnBotMessageGroupPropertyToCloudFormation)(properties.messageGroups)}):properties}function CfnBotFulfillmentUpdateResponseSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("frequencyInSeconds","FrequencyInSeconds",properties.FrequencyInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.FrequencyInSeconds):void 0),ret.addPropertyResult("messageGroups","MessageGroups",properties.MessageGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessageGroupPropertyFromCloudFormation)(properties.MessageGroups):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotFulfillmentStartResponseSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("delayInSeconds",cdk().requiredValidator)(properties.delayInSeconds)),errors.collect(cdk().propertyValidator("delayInSeconds",cdk().validateNumber)(properties.delayInSeconds)),errors.collect(cdk().propertyValidator("messageGroups",cdk().requiredValidator)(properties.messageGroups)),errors.collect(cdk().propertyValidator("messageGroups",cdk().listValidator(CfnBotMessageGroupPropertyValidator))(properties.messageGroups)),errors.wrap('supplied properties not correct for "FulfillmentStartResponseSpecificationProperty"')}function convertCfnBotFulfillmentStartResponseSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotFulfillmentStartResponseSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),DelayInSeconds:cdk().numberToCloudFormation(properties.delayInSeconds),MessageGroups:cdk().listMapper(convertCfnBotMessageGroupPropertyToCloudFormation)(properties.messageGroups)}):properties}function CfnBotFulfillmentStartResponseSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("delayInSeconds","DelayInSeconds",properties.DelayInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.DelayInSeconds):void 0),ret.addPropertyResult("messageGroups","MessageGroups",properties.MessageGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessageGroupPropertyFromCloudFormation)(properties.MessageGroups):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotFulfillmentUpdatesSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("active",cdk().requiredValidator)(properties.active)),errors.collect(cdk().propertyValidator("active",cdk().validateBoolean)(properties.active)),errors.collect(cdk().propertyValidator("startResponse",CfnBotFulfillmentStartResponseSpecificationPropertyValidator)(properties.startResponse)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().validateNumber)(properties.timeoutInSeconds)),errors.collect(cdk().propertyValidator("updateResponse",CfnBotFulfillmentUpdateResponseSpecificationPropertyValidator)(properties.updateResponse)),errors.wrap('supplied properties not correct for "FulfillmentUpdatesSpecificationProperty"')}function convertCfnBotFulfillmentUpdatesSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotFulfillmentUpdatesSpecificationPropertyValidator(properties).assertSuccess(),{Active:cdk().booleanToCloudFormation(properties.active),StartResponse:convertCfnBotFulfillmentStartResponseSpecificationPropertyToCloudFormation(properties.startResponse),TimeoutInSeconds:cdk().numberToCloudFormation(properties.timeoutInSeconds),UpdateResponse:convertCfnBotFulfillmentUpdateResponseSpecificationPropertyToCloudFormation(properties.updateResponse)}):properties}function CfnBotFulfillmentUpdatesSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("active","Active",properties.Active!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Active):void 0),ret.addPropertyResult("startResponse","StartResponse",properties.StartResponse!=null?CfnBotFulfillmentStartResponseSpecificationPropertyFromCloudFormation(properties.StartResponse):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addPropertyResult("updateResponse","UpdateResponse",properties.UpdateResponse!=null?CfnBotFulfillmentUpdateResponseSpecificationPropertyFromCloudFormation(properties.UpdateResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotFulfillmentCodeHookSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("fulfillmentUpdatesSpecification",CfnBotFulfillmentUpdatesSpecificationPropertyValidator)(properties.fulfillmentUpdatesSpecification)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.collect(cdk().propertyValidator("postFulfillmentStatusSpecification",CfnBotPostFulfillmentStatusSpecificationPropertyValidator)(properties.postFulfillmentStatusSpecification)),errors.wrap('supplied properties not correct for "FulfillmentCodeHookSettingProperty"')}function convertCfnBotFulfillmentCodeHookSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotFulfillmentCodeHookSettingPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),FulfillmentUpdatesSpecification:convertCfnBotFulfillmentUpdatesSpecificationPropertyToCloudFormation(properties.fulfillmentUpdatesSpecification),IsActive:cdk().booleanToCloudFormation(properties.isActive),PostFulfillmentStatusSpecification:convertCfnBotPostFulfillmentStatusSpecificationPropertyToCloudFormation(properties.postFulfillmentStatusSpecification)}):properties}function CfnBotFulfillmentCodeHookSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("fulfillmentUpdatesSpecification","FulfillmentUpdatesSpecification",properties.FulfillmentUpdatesSpecification!=null?CfnBotFulfillmentUpdatesSpecificationPropertyFromCloudFormation(properties.FulfillmentUpdatesSpecification):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addPropertyResult("postFulfillmentStatusSpecification","PostFulfillmentStatusSpecification",properties.PostFulfillmentStatusSpecification!=null?CfnBotPostFulfillmentStatusSpecificationPropertyFromCloudFormation(properties.PostFulfillmentStatusSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotTextInputSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("startTimeoutMs",cdk().requiredValidator)(properties.startTimeoutMs)),errors.collect(cdk().propertyValidator("startTimeoutMs",cdk().validateNumber)(properties.startTimeoutMs)),errors.wrap('supplied properties not correct for "TextInputSpecificationProperty"')}function convertCfnBotTextInputSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotTextInputSpecificationPropertyValidator(properties).assertSuccess(),{StartTimeoutMs:cdk().numberToCloudFormation(properties.startTimeoutMs)}):properties}function CfnBotTextInputSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("startTimeoutMs","StartTimeoutMs",properties.StartTimeoutMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartTimeoutMs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAllowedInputTypesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowAudioInput",cdk().requiredValidator)(properties.allowAudioInput)),errors.collect(cdk().propertyValidator("allowAudioInput",cdk().validateBoolean)(properties.allowAudioInput)),errors.collect(cdk().propertyValidator("allowDtmfInput",cdk().requiredValidator)(properties.allowDtmfInput)),errors.collect(cdk().propertyValidator("allowDtmfInput",cdk().validateBoolean)(properties.allowDtmfInput)),errors.wrap('supplied properties not correct for "AllowedInputTypesProperty"')}function convertCfnBotAllowedInputTypesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAllowedInputTypesPropertyValidator(properties).assertSuccess(),{AllowAudioInput:cdk().booleanToCloudFormation(properties.allowAudioInput),AllowDTMFInput:cdk().booleanToCloudFormation(properties.allowDtmfInput)}):properties}function CfnBotAllowedInputTypesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowAudioInput","AllowAudioInput",properties.AllowAudioInput!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowAudioInput):void 0),ret.addPropertyResult("allowDtmfInput","AllowDTMFInput",properties.AllowDTMFInput!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowDTMFInput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDTMFSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("deletionCharacter",cdk().requiredValidator)(properties.deletionCharacter)),errors.collect(cdk().propertyValidator("deletionCharacter",cdk().validateString)(properties.deletionCharacter)),errors.collect(cdk().propertyValidator("endCharacter",cdk().requiredValidator)(properties.endCharacter)),errors.collect(cdk().propertyValidator("endCharacter",cdk().validateString)(properties.endCharacter)),errors.collect(cdk().propertyValidator("endTimeoutMs",cdk().requiredValidator)(properties.endTimeoutMs)),errors.collect(cdk().propertyValidator("endTimeoutMs",cdk().validateNumber)(properties.endTimeoutMs)),errors.collect(cdk().propertyValidator("maxLength",cdk().requiredValidator)(properties.maxLength)),errors.collect(cdk().propertyValidator("maxLength",cdk().validateNumber)(properties.maxLength)),errors.wrap('supplied properties not correct for "DTMFSpecificationProperty"')}function convertCfnBotDTMFSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDTMFSpecificationPropertyValidator(properties).assertSuccess(),{DeletionCharacter:cdk().stringToCloudFormation(properties.deletionCharacter),EndCharacter:cdk().stringToCloudFormation(properties.endCharacter),EndTimeoutMs:cdk().numberToCloudFormation(properties.endTimeoutMs),MaxLength:cdk().numberToCloudFormation(properties.maxLength)}):properties}function CfnBotDTMFSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("deletionCharacter","DeletionCharacter",properties.DeletionCharacter!=null?cfn_parse().FromCloudFormation.getString(properties.DeletionCharacter):void 0),ret.addPropertyResult("endCharacter","EndCharacter",properties.EndCharacter!=null?cfn_parse().FromCloudFormation.getString(properties.EndCharacter):void 0),ret.addPropertyResult("endTimeoutMs","EndTimeoutMs",properties.EndTimeoutMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.EndTimeoutMs):void 0),ret.addPropertyResult("maxLength","MaxLength",properties.MaxLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxLength):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAudioSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("endTimeoutMs",cdk().requiredValidator)(properties.endTimeoutMs)),errors.collect(cdk().propertyValidator("endTimeoutMs",cdk().validateNumber)(properties.endTimeoutMs)),errors.collect(cdk().propertyValidator("maxLengthMs",cdk().requiredValidator)(properties.maxLengthMs)),errors.collect(cdk().propertyValidator("maxLengthMs",cdk().validateNumber)(properties.maxLengthMs)),errors.wrap('supplied properties not correct for "AudioSpecificationProperty"')}function convertCfnBotAudioSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAudioSpecificationPropertyValidator(properties).assertSuccess(),{EndTimeoutMs:cdk().numberToCloudFormation(properties.endTimeoutMs),MaxLengthMs:cdk().numberToCloudFormation(properties.maxLengthMs)}):properties}function CfnBotAudioSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endTimeoutMs","EndTimeoutMs",properties.EndTimeoutMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.EndTimeoutMs):void 0),ret.addPropertyResult("maxLengthMs","MaxLengthMs",properties.MaxLengthMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxLengthMs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAudioAndDTMFInputSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("audioSpecification",CfnBotAudioSpecificationPropertyValidator)(properties.audioSpecification)),errors.collect(cdk().propertyValidator("dtmfSpecification",CfnBotDTMFSpecificationPropertyValidator)(properties.dtmfSpecification)),errors.collect(cdk().propertyValidator("startTimeoutMs",cdk().requiredValidator)(properties.startTimeoutMs)),errors.collect(cdk().propertyValidator("startTimeoutMs",cdk().validateNumber)(properties.startTimeoutMs)),errors.wrap('supplied properties not correct for "AudioAndDTMFInputSpecificationProperty"')}function convertCfnBotAudioAndDTMFInputSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAudioAndDTMFInputSpecificationPropertyValidator(properties).assertSuccess(),{AudioSpecification:convertCfnBotAudioSpecificationPropertyToCloudFormation(properties.audioSpecification),DTMFSpecification:convertCfnBotDTMFSpecificationPropertyToCloudFormation(properties.dtmfSpecification),StartTimeoutMs:cdk().numberToCloudFormation(properties.startTimeoutMs)}):properties}function CfnBotAudioAndDTMFInputSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("audioSpecification","AudioSpecification",properties.AudioSpecification!=null?CfnBotAudioSpecificationPropertyFromCloudFormation(properties.AudioSpecification):void 0),ret.addPropertyResult("dtmfSpecification","DTMFSpecification",properties.DTMFSpecification!=null?CfnBotDTMFSpecificationPropertyFromCloudFormation(properties.DTMFSpecification):void 0),ret.addPropertyResult("startTimeoutMs","StartTimeoutMs",properties.StartTimeoutMs!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartTimeoutMs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPromptAttemptSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("allowedInputTypes",cdk().requiredValidator)(properties.allowedInputTypes)),errors.collect(cdk().propertyValidator("allowedInputTypes",CfnBotAllowedInputTypesPropertyValidator)(properties.allowedInputTypes)),errors.collect(cdk().propertyValidator("audioAndDtmfInputSpecification",CfnBotAudioAndDTMFInputSpecificationPropertyValidator)(properties.audioAndDtmfInputSpecification)),errors.collect(cdk().propertyValidator("textInputSpecification",CfnBotTextInputSpecificationPropertyValidator)(properties.textInputSpecification)),errors.wrap('supplied properties not correct for "PromptAttemptSpecificationProperty"')}function convertCfnBotPromptAttemptSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPromptAttemptSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),AllowedInputTypes:convertCfnBotAllowedInputTypesPropertyToCloudFormation(properties.allowedInputTypes),AudioAndDTMFInputSpecification:convertCfnBotAudioAndDTMFInputSpecificationPropertyToCloudFormation(properties.audioAndDtmfInputSpecification),TextInputSpecification:convertCfnBotTextInputSpecificationPropertyToCloudFormation(properties.textInputSpecification)}):properties}function CfnBotPromptAttemptSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowedInputTypes","AllowedInputTypes",properties.AllowedInputTypes!=null?CfnBotAllowedInputTypesPropertyFromCloudFormation(properties.AllowedInputTypes):void 0),ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("audioAndDtmfInputSpecification","AudioAndDTMFInputSpecification",properties.AudioAndDTMFInputSpecification!=null?CfnBotAudioAndDTMFInputSpecificationPropertyFromCloudFormation(properties.AudioAndDTMFInputSpecification):void 0),ret.addPropertyResult("textInputSpecification","TextInputSpecification",properties.TextInputSpecification!=null?CfnBotTextInputSpecificationPropertyFromCloudFormation(properties.TextInputSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPromptSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("maxRetries",cdk().requiredValidator)(properties.maxRetries)),errors.collect(cdk().propertyValidator("maxRetries",cdk().validateNumber)(properties.maxRetries)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().requiredValidator)(properties.messageGroupsList)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().listValidator(CfnBotMessageGroupPropertyValidator))(properties.messageGroupsList)),errors.collect(cdk().propertyValidator("messageSelectionStrategy",cdk().validateString)(properties.messageSelectionStrategy)),errors.collect(cdk().propertyValidator("promptAttemptsSpecification",cdk().hashValidator(CfnBotPromptAttemptSpecificationPropertyValidator))(properties.promptAttemptsSpecification)),errors.wrap('supplied properties not correct for "PromptSpecificationProperty"')}function convertCfnBotPromptSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPromptSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),MaxRetries:cdk().numberToCloudFormation(properties.maxRetries),MessageGroupsList:cdk().listMapper(convertCfnBotMessageGroupPropertyToCloudFormation)(properties.messageGroupsList),MessageSelectionStrategy:cdk().stringToCloudFormation(properties.messageSelectionStrategy),PromptAttemptsSpecification:cdk().hashMapper(convertCfnBotPromptAttemptSpecificationPropertyToCloudFormation)(properties.promptAttemptsSpecification)}):properties}function CfnBotPromptSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("maxRetries","MaxRetries",properties.MaxRetries!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRetries):void 0),ret.addPropertyResult("messageGroupsList","MessageGroupsList",properties.MessageGroupsList!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessageGroupPropertyFromCloudFormation)(properties.MessageGroupsList):void 0),ret.addPropertyResult("messageSelectionStrategy","MessageSelectionStrategy",properties.MessageSelectionStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.MessageSelectionStrategy):void 0),ret.addPropertyResult("promptAttemptsSpecification","PromptAttemptsSpecification",properties.PromptAttemptsSpecification!=null?cfn_parse().FromCloudFormation.getMap(CfnBotPromptAttemptSpecificationPropertyFromCloudFormation)(properties.PromptAttemptsSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotElicitationCodeHookInvocationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enableCodeHookInvocation",cdk().requiredValidator)(properties.enableCodeHookInvocation)),errors.collect(cdk().propertyValidator("enableCodeHookInvocation",cdk().validateBoolean)(properties.enableCodeHookInvocation)),errors.collect(cdk().propertyValidator("invocationLabel",cdk().validateString)(properties.invocationLabel)),errors.wrap('supplied properties not correct for "ElicitationCodeHookInvocationSettingProperty"')}function convertCfnBotElicitationCodeHookInvocationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotElicitationCodeHookInvocationSettingPropertyValidator(properties).assertSuccess(),{EnableCodeHookInvocation:cdk().booleanToCloudFormation(properties.enableCodeHookInvocation),InvocationLabel:cdk().stringToCloudFormation(properties.invocationLabel)}):properties}function CfnBotElicitationCodeHookInvocationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enableCodeHookInvocation","EnableCodeHookInvocation",properties.EnableCodeHookInvocation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableCodeHookInvocation):void 0),ret.addPropertyResult("invocationLabel","InvocationLabel",properties.InvocationLabel!=null?cfn_parse().FromCloudFormation.getString(properties.InvocationLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotIntentConfirmationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHook",CfnBotDialogCodeHookInvocationSettingPropertyValidator)(properties.codeHook)),errors.collect(cdk().propertyValidator("confirmationConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.confirmationConditional)),errors.collect(cdk().propertyValidator("confirmationNextStep",CfnBotDialogStatePropertyValidator)(properties.confirmationNextStep)),errors.collect(cdk().propertyValidator("confirmationResponse",CfnBotResponseSpecificationPropertyValidator)(properties.confirmationResponse)),errors.collect(cdk().propertyValidator("declinationConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.declinationConditional)),errors.collect(cdk().propertyValidator("declinationNextStep",CfnBotDialogStatePropertyValidator)(properties.declinationNextStep)),errors.collect(cdk().propertyValidator("declinationResponse",CfnBotResponseSpecificationPropertyValidator)(properties.declinationResponse)),errors.collect(cdk().propertyValidator("elicitationCodeHook",CfnBotElicitationCodeHookInvocationSettingPropertyValidator)(properties.elicitationCodeHook)),errors.collect(cdk().propertyValidator("failureConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.failureConditional)),errors.collect(cdk().propertyValidator("failureNextStep",CfnBotDialogStatePropertyValidator)(properties.failureNextStep)),errors.collect(cdk().propertyValidator("failureResponse",CfnBotResponseSpecificationPropertyValidator)(properties.failureResponse)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.collect(cdk().propertyValidator("promptSpecification",cdk().requiredValidator)(properties.promptSpecification)),errors.collect(cdk().propertyValidator("promptSpecification",CfnBotPromptSpecificationPropertyValidator)(properties.promptSpecification)),errors.wrap('supplied properties not correct for "IntentConfirmationSettingProperty"')}function convertCfnBotIntentConfirmationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotIntentConfirmationSettingPropertyValidator(properties).assertSuccess(),{CodeHook:convertCfnBotDialogCodeHookInvocationSettingPropertyToCloudFormation(properties.codeHook),ConfirmationConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.confirmationConditional),ConfirmationNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.confirmationNextStep),ConfirmationResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.confirmationResponse),DeclinationConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.declinationConditional),DeclinationNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.declinationNextStep),DeclinationResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.declinationResponse),ElicitationCodeHook:convertCfnBotElicitationCodeHookInvocationSettingPropertyToCloudFormation(properties.elicitationCodeHook),FailureConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.failureConditional),FailureNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.failureNextStep),FailureResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.failureResponse),IsActive:cdk().booleanToCloudFormation(properties.isActive),PromptSpecification:convertCfnBotPromptSpecificationPropertyToCloudFormation(properties.promptSpecification)}):properties}function CfnBotIntentConfirmationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHook","CodeHook",properties.CodeHook!=null?CfnBotDialogCodeHookInvocationSettingPropertyFromCloudFormation(properties.CodeHook):void 0),ret.addPropertyResult("confirmationConditional","ConfirmationConditional",properties.ConfirmationConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.ConfirmationConditional):void 0),ret.addPropertyResult("confirmationNextStep","ConfirmationNextStep",properties.ConfirmationNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.ConfirmationNextStep):void 0),ret.addPropertyResult("confirmationResponse","ConfirmationResponse",properties.ConfirmationResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.ConfirmationResponse):void 0),ret.addPropertyResult("declinationConditional","DeclinationConditional",properties.DeclinationConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.DeclinationConditional):void 0),ret.addPropertyResult("declinationNextStep","DeclinationNextStep",properties.DeclinationNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.DeclinationNextStep):void 0),ret.addPropertyResult("declinationResponse","DeclinationResponse",properties.DeclinationResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.DeclinationResponse):void 0),ret.addPropertyResult("elicitationCodeHook","ElicitationCodeHook",properties.ElicitationCodeHook!=null?CfnBotElicitationCodeHookInvocationSettingPropertyFromCloudFormation(properties.ElicitationCodeHook):void 0),ret.addPropertyResult("failureConditional","FailureConditional",properties.FailureConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.FailureConditional):void 0),ret.addPropertyResult("failureNextStep","FailureNextStep",properties.FailureNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.FailureNextStep):void 0),ret.addPropertyResult("failureResponse","FailureResponse",properties.FailureResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.FailureResponse):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addPropertyResult("promptSpecification","PromptSpecification",properties.PromptSpecification!=null?CfnBotPromptSpecificationPropertyFromCloudFormation(properties.PromptSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotStillWaitingResponseSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowInterrupt",cdk().validateBoolean)(properties.allowInterrupt)),errors.collect(cdk().propertyValidator("frequencyInSeconds",cdk().requiredValidator)(properties.frequencyInSeconds)),errors.collect(cdk().propertyValidator("frequencyInSeconds",cdk().validateNumber)(properties.frequencyInSeconds)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().requiredValidator)(properties.messageGroupsList)),errors.collect(cdk().propertyValidator("messageGroupsList",cdk().listValidator(CfnBotMessageGroupPropertyValidator))(properties.messageGroupsList)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().requiredValidator)(properties.timeoutInSeconds)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "StillWaitingResponseSpecificationProperty"')}function convertCfnBotStillWaitingResponseSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotStillWaitingResponseSpecificationPropertyValidator(properties).assertSuccess(),{AllowInterrupt:cdk().booleanToCloudFormation(properties.allowInterrupt),FrequencyInSeconds:cdk().numberToCloudFormation(properties.frequencyInSeconds),MessageGroupsList:cdk().listMapper(convertCfnBotMessageGroupPropertyToCloudFormation)(properties.messageGroupsList),TimeoutInSeconds:cdk().numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnBotStillWaitingResponseSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowInterrupt","AllowInterrupt",properties.AllowInterrupt!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowInterrupt):void 0),ret.addPropertyResult("frequencyInSeconds","FrequencyInSeconds",properties.FrequencyInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.FrequencyInSeconds):void 0),ret.addPropertyResult("messageGroupsList","MessageGroupsList",properties.MessageGroupsList!=null?cfn_parse().FromCloudFormation.getArray(CfnBotMessageGroupPropertyFromCloudFormation)(properties.MessageGroupsList):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotWaitAndContinueSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("continueResponse",cdk().requiredValidator)(properties.continueResponse)),errors.collect(cdk().propertyValidator("continueResponse",CfnBotResponseSpecificationPropertyValidator)(properties.continueResponse)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.collect(cdk().propertyValidator("stillWaitingResponse",CfnBotStillWaitingResponseSpecificationPropertyValidator)(properties.stillWaitingResponse)),errors.collect(cdk().propertyValidator("waitingResponse",cdk().requiredValidator)(properties.waitingResponse)),errors.collect(cdk().propertyValidator("waitingResponse",CfnBotResponseSpecificationPropertyValidator)(properties.waitingResponse)),errors.wrap('supplied properties not correct for "WaitAndContinueSpecificationProperty"')}function convertCfnBotWaitAndContinueSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotWaitAndContinueSpecificationPropertyValidator(properties).assertSuccess(),{ContinueResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.continueResponse),IsActive:cdk().booleanToCloudFormation(properties.isActive),StillWaitingResponse:convertCfnBotStillWaitingResponseSpecificationPropertyToCloudFormation(properties.stillWaitingResponse),WaitingResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.waitingResponse)}):properties}function CfnBotWaitAndContinueSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("continueResponse","ContinueResponse",properties.ContinueResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.ContinueResponse):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addPropertyResult("stillWaitingResponse","StillWaitingResponse",properties.StillWaitingResponse!=null?CfnBotStillWaitingResponseSpecificationPropertyFromCloudFormation(properties.StillWaitingResponse):void 0),ret.addPropertyResult("waitingResponse","WaitingResponse",properties.WaitingResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.WaitingResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotCaptureSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("captureConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.captureConditional)),errors.collect(cdk().propertyValidator("captureNextStep",CfnBotDialogStatePropertyValidator)(properties.captureNextStep)),errors.collect(cdk().propertyValidator("captureResponse",CfnBotResponseSpecificationPropertyValidator)(properties.captureResponse)),errors.collect(cdk().propertyValidator("codeHook",CfnBotDialogCodeHookInvocationSettingPropertyValidator)(properties.codeHook)),errors.collect(cdk().propertyValidator("elicitationCodeHook",CfnBotElicitationCodeHookInvocationSettingPropertyValidator)(properties.elicitationCodeHook)),errors.collect(cdk().propertyValidator("failureConditional",CfnBotConditionalSpecificationPropertyValidator)(properties.failureConditional)),errors.collect(cdk().propertyValidator("failureNextStep",CfnBotDialogStatePropertyValidator)(properties.failureNextStep)),errors.collect(cdk().propertyValidator("failureResponse",CfnBotResponseSpecificationPropertyValidator)(properties.failureResponse)),errors.wrap('supplied properties not correct for "SlotCaptureSettingProperty"')}function convertCfnBotSlotCaptureSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotCaptureSettingPropertyValidator(properties).assertSuccess(),{CaptureConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.captureConditional),CaptureNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.captureNextStep),CaptureResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.captureResponse),CodeHook:convertCfnBotDialogCodeHookInvocationSettingPropertyToCloudFormation(properties.codeHook),ElicitationCodeHook:convertCfnBotElicitationCodeHookInvocationSettingPropertyToCloudFormation(properties.elicitationCodeHook),FailureConditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.failureConditional),FailureNextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.failureNextStep),FailureResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.failureResponse)}):properties}function CfnBotSlotCaptureSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("captureConditional","CaptureConditional",properties.CaptureConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.CaptureConditional):void 0),ret.addPropertyResult("captureNextStep","CaptureNextStep",properties.CaptureNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.CaptureNextStep):void 0),ret.addPropertyResult("captureResponse","CaptureResponse",properties.CaptureResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.CaptureResponse):void 0),ret.addPropertyResult("codeHook","CodeHook",properties.CodeHook!=null?CfnBotDialogCodeHookInvocationSettingPropertyFromCloudFormation(properties.CodeHook):void 0),ret.addPropertyResult("elicitationCodeHook","ElicitationCodeHook",properties.ElicitationCodeHook!=null?CfnBotElicitationCodeHookInvocationSettingPropertyFromCloudFormation(properties.ElicitationCodeHook):void 0),ret.addPropertyResult("failureConditional","FailureConditional",properties.FailureConditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.FailureConditional):void 0),ret.addPropertyResult("failureNextStep","FailureNextStep",properties.FailureNextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.FailureNextStep):void 0),ret.addPropertyResult("failureResponse","FailureResponse",properties.FailureResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.FailureResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSampleUtterancePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("utterance",cdk().requiredValidator)(properties.utterance)),errors.collect(cdk().propertyValidator("utterance",cdk().validateString)(properties.utterance)),errors.wrap('supplied properties not correct for "SampleUtteranceProperty"')}function convertCfnBotSampleUtterancePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSampleUtterancePropertyValidator(properties).assertSuccess(),{Utterance:cdk().stringToCloudFormation(properties.utterance)}):properties}function CfnBotSampleUtterancePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("utterance","Utterance",properties.Utterance!=null?cfn_parse().FromCloudFormation.getString(properties.Utterance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotDefaultValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValue",cdk().requiredValidator)(properties.defaultValue)),errors.collect(cdk().propertyValidator("defaultValue",cdk().validateString)(properties.defaultValue)),errors.wrap('supplied properties not correct for "SlotDefaultValueProperty"')}function convertCfnBotSlotDefaultValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotDefaultValuePropertyValidator(properties).assertSuccess(),{DefaultValue:cdk().stringToCloudFormation(properties.defaultValue)}):properties}function CfnBotSlotDefaultValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotDefaultValueSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueList",cdk().requiredValidator)(properties.defaultValueList)),errors.collect(cdk().propertyValidator("defaultValueList",cdk().listValidator(CfnBotSlotDefaultValuePropertyValidator))(properties.defaultValueList)),errors.wrap('supplied properties not correct for "SlotDefaultValueSpecificationProperty"')}function convertCfnBotSlotDefaultValueSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotDefaultValueSpecificationPropertyValidator(properties).assertSuccess(),{DefaultValueList:cdk().listMapper(convertCfnBotSlotDefaultValuePropertyToCloudFormation)(properties.defaultValueList)}):properties}function CfnBotSlotDefaultValueSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueList","DefaultValueList",properties.DefaultValueList!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotDefaultValuePropertyFromCloudFormation)(properties.DefaultValueList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotValueElicitationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueSpecification",CfnBotSlotDefaultValueSpecificationPropertyValidator)(properties.defaultValueSpecification)),errors.collect(cdk().propertyValidator("promptSpecification",CfnBotPromptSpecificationPropertyValidator)(properties.promptSpecification)),errors.collect(cdk().propertyValidator("sampleUtterances",cdk().listValidator(CfnBotSampleUtterancePropertyValidator))(properties.sampleUtterances)),errors.collect(cdk().propertyValidator("slotCaptureSetting",CfnBotSlotCaptureSettingPropertyValidator)(properties.slotCaptureSetting)),errors.collect(cdk().propertyValidator("slotConstraint",cdk().requiredValidator)(properties.slotConstraint)),errors.collect(cdk().propertyValidator("slotConstraint",cdk().validateString)(properties.slotConstraint)),errors.collect(cdk().propertyValidator("waitAndContinueSpecification",CfnBotWaitAndContinueSpecificationPropertyValidator)(properties.waitAndContinueSpecification)),errors.wrap('supplied properties not correct for "SlotValueElicitationSettingProperty"')}function convertCfnBotSlotValueElicitationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotValueElicitationSettingPropertyValidator(properties).assertSuccess(),{DefaultValueSpecification:convertCfnBotSlotDefaultValueSpecificationPropertyToCloudFormation(properties.defaultValueSpecification),PromptSpecification:convertCfnBotPromptSpecificationPropertyToCloudFormation(properties.promptSpecification),SampleUtterances:cdk().listMapper(convertCfnBotSampleUtterancePropertyToCloudFormation)(properties.sampleUtterances),SlotCaptureSetting:convertCfnBotSlotCaptureSettingPropertyToCloudFormation(properties.slotCaptureSetting),SlotConstraint:cdk().stringToCloudFormation(properties.slotConstraint),WaitAndContinueSpecification:convertCfnBotWaitAndContinueSpecificationPropertyToCloudFormation(properties.waitAndContinueSpecification)}):properties}function CfnBotSlotValueElicitationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueSpecification","DefaultValueSpecification",properties.DefaultValueSpecification!=null?CfnBotSlotDefaultValueSpecificationPropertyFromCloudFormation(properties.DefaultValueSpecification):void 0),ret.addPropertyResult("promptSpecification","PromptSpecification",properties.PromptSpecification!=null?CfnBotPromptSpecificationPropertyFromCloudFormation(properties.PromptSpecification):void 0),ret.addPropertyResult("sampleUtterances","SampleUtterances",properties.SampleUtterances!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSampleUtterancePropertyFromCloudFormation)(properties.SampleUtterances):void 0),ret.addPropertyResult("slotCaptureSetting","SlotCaptureSetting",properties.SlotCaptureSetting!=null?CfnBotSlotCaptureSettingPropertyFromCloudFormation(properties.SlotCaptureSetting):void 0),ret.addPropertyResult("slotConstraint","SlotConstraint",properties.SlotConstraint!=null?cfn_parse().FromCloudFormation.getString(properties.SlotConstraint):void 0),ret.addPropertyResult("waitAndContinueSpecification","WaitAndContinueSpecification",properties.WaitAndContinueSpecification!=null?CfnBotWaitAndContinueSpecificationPropertyFromCloudFormation(properties.WaitAndContinueSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotObfuscationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("obfuscationSettingType",cdk().requiredValidator)(properties.obfuscationSettingType)),errors.collect(cdk().propertyValidator("obfuscationSettingType",cdk().validateString)(properties.obfuscationSettingType)),errors.wrap('supplied properties not correct for "ObfuscationSettingProperty"')}function convertCfnBotObfuscationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotObfuscationSettingPropertyValidator(properties).assertSuccess(),{ObfuscationSettingType:cdk().stringToCloudFormation(properties.obfuscationSettingType)}):properties}function CfnBotObfuscationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("obfuscationSettingType","ObfuscationSettingType",properties.ObfuscationSettingType!=null?cfn_parse().FromCloudFormation.getString(properties.ObfuscationSettingType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotMultipleValuesSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowMultipleValues",cdk().validateBoolean)(properties.allowMultipleValues)),errors.wrap('supplied properties not correct for "MultipleValuesSettingProperty"')}function convertCfnBotMultipleValuesSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotMultipleValuesSettingPropertyValidator(properties).assertSuccess(),{AllowMultipleValues:cdk().booleanToCloudFormation(properties.allowMultipleValues)}):properties}function CfnBotMultipleValuesSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowMultipleValues","AllowMultipleValues",properties.AllowMultipleValues!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowMultipleValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSubSlotValueElicitationSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueSpecification",CfnBotSlotDefaultValueSpecificationPropertyValidator)(properties.defaultValueSpecification)),errors.collect(cdk().propertyValidator("promptSpecification",CfnBotPromptSpecificationPropertyValidator)(properties.promptSpecification)),errors.collect(cdk().propertyValidator("sampleUtterances",cdk().listValidator(CfnBotSampleUtterancePropertyValidator))(properties.sampleUtterances)),errors.collect(cdk().propertyValidator("waitAndContinueSpecification",CfnBotWaitAndContinueSpecificationPropertyValidator)(properties.waitAndContinueSpecification)),errors.wrap('supplied properties not correct for "SubSlotValueElicitationSettingProperty"')}function convertCfnBotSubSlotValueElicitationSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSubSlotValueElicitationSettingPropertyValidator(properties).assertSuccess(),{DefaultValueSpecification:convertCfnBotSlotDefaultValueSpecificationPropertyToCloudFormation(properties.defaultValueSpecification),PromptSpecification:convertCfnBotPromptSpecificationPropertyToCloudFormation(properties.promptSpecification),SampleUtterances:cdk().listMapper(convertCfnBotSampleUtterancePropertyToCloudFormation)(properties.sampleUtterances),WaitAndContinueSpecification:convertCfnBotWaitAndContinueSpecificationPropertyToCloudFormation(properties.waitAndContinueSpecification)}):properties}function CfnBotSubSlotValueElicitationSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueSpecification","DefaultValueSpecification",properties.DefaultValueSpecification!=null?CfnBotSlotDefaultValueSpecificationPropertyFromCloudFormation(properties.DefaultValueSpecification):void 0),ret.addPropertyResult("promptSpecification","PromptSpecification",properties.PromptSpecification!=null?CfnBotPromptSpecificationPropertyFromCloudFormation(properties.PromptSpecification):void 0),ret.addPropertyResult("sampleUtterances","SampleUtterances",properties.SampleUtterances!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSampleUtterancePropertyFromCloudFormation)(properties.SampleUtterances):void 0),ret.addPropertyResult("waitAndContinueSpecification","WaitAndContinueSpecification",properties.WaitAndContinueSpecification!=null?CfnBotWaitAndContinueSpecificationPropertyFromCloudFormation(properties.WaitAndContinueSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSpecificationsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("slotTypeId",cdk().validateString)(properties.slotTypeId)),errors.collect(cdk().propertyValidator("slotTypeName",cdk().validateString)(properties.slotTypeName)),errors.collect(cdk().propertyValidator("valueElicitationSetting",cdk().requiredValidator)(properties.valueElicitationSetting)),errors.collect(cdk().propertyValidator("valueElicitationSetting",CfnBotSubSlotValueElicitationSettingPropertyValidator)(properties.valueElicitationSetting)),errors.wrap('supplied properties not correct for "SpecificationsProperty"')}function convertCfnBotSpecificationsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSpecificationsPropertyValidator(properties).assertSuccess(),{SlotTypeId:cdk().stringToCloudFormation(properties.slotTypeId),SlotTypeName:cdk().stringToCloudFormation(properties.slotTypeName),ValueElicitationSetting:convertCfnBotSubSlotValueElicitationSettingPropertyToCloudFormation(properties.valueElicitationSetting)}):properties}function CfnBotSpecificationsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("slotTypeId","SlotTypeId",properties.SlotTypeId!=null?cfn_parse().FromCloudFormation.getString(properties.SlotTypeId):void 0),ret.addPropertyResult("slotTypeName","SlotTypeName",properties.SlotTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.SlotTypeName):void 0),ret.addPropertyResult("valueElicitationSetting","ValueElicitationSetting",properties.ValueElicitationSetting!=null?CfnBotSubSlotValueElicitationSettingPropertyFromCloudFormation(properties.ValueElicitationSetting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSubSlotSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("slotSpecifications",cdk().hashValidator(CfnBotSpecificationsPropertyValidator))(properties.slotSpecifications)),errors.wrap('supplied properties not correct for "SubSlotSettingProperty"')}function convertCfnBotSubSlotSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSubSlotSettingPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),SlotSpecifications:cdk().hashMapper(convertCfnBotSpecificationsPropertyToCloudFormation)(properties.slotSpecifications)}):properties}function CfnBotSubSlotSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("slotSpecifications","SlotSpecifications",properties.SlotSpecifications!=null?cfn_parse().FromCloudFormation.getMap(CfnBotSpecificationsPropertyFromCloudFormation)(properties.SlotSpecifications):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("multipleValuesSetting",CfnBotMultipleValuesSettingPropertyValidator)(properties.multipleValuesSetting)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("obfuscationSetting",CfnBotObfuscationSettingPropertyValidator)(properties.obfuscationSetting)),errors.collect(cdk().propertyValidator("slotTypeName",cdk().requiredValidator)(properties.slotTypeName)),errors.collect(cdk().propertyValidator("slotTypeName",cdk().validateString)(properties.slotTypeName)),errors.collect(cdk().propertyValidator("subSlotSetting",CfnBotSubSlotSettingPropertyValidator)(properties.subSlotSetting)),errors.collect(cdk().propertyValidator("valueElicitationSetting",cdk().requiredValidator)(properties.valueElicitationSetting)),errors.collect(cdk().propertyValidator("valueElicitationSetting",CfnBotSlotValueElicitationSettingPropertyValidator)(properties.valueElicitationSetting)),errors.wrap('supplied properties not correct for "SlotProperty"')}function convertCfnBotSlotPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),MultipleValuesSetting:convertCfnBotMultipleValuesSettingPropertyToCloudFormation(properties.multipleValuesSetting),Name:cdk().stringToCloudFormation(properties.name),ObfuscationSetting:convertCfnBotObfuscationSettingPropertyToCloudFormation(properties.obfuscationSetting),SlotTypeName:cdk().stringToCloudFormation(properties.slotTypeName),SubSlotSetting:convertCfnBotSubSlotSettingPropertyToCloudFormation(properties.subSlotSetting),ValueElicitationSetting:convertCfnBotSlotValueElicitationSettingPropertyToCloudFormation(properties.valueElicitationSetting)}):properties}function CfnBotSlotPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("multipleValuesSetting","MultipleValuesSetting",properties.MultipleValuesSetting!=null?CfnBotMultipleValuesSettingPropertyFromCloudFormation(properties.MultipleValuesSetting):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("obfuscationSetting","ObfuscationSetting",properties.ObfuscationSetting!=null?CfnBotObfuscationSettingPropertyFromCloudFormation(properties.ObfuscationSetting):void 0),ret.addPropertyResult("slotTypeName","SlotTypeName",properties.SlotTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.SlotTypeName):void 0),ret.addPropertyResult("subSlotSetting","SubSlotSetting",properties.SubSlotSetting!=null?CfnBotSubSlotSettingPropertyFromCloudFormation(properties.SubSlotSetting):void 0),ret.addPropertyResult("valueElicitationSetting","ValueElicitationSetting",properties.ValueElicitationSetting!=null?CfnBotSlotValueElicitationSettingPropertyFromCloudFormation(properties.ValueElicitationSetting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDialogCodeHookSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "DialogCodeHookSettingProperty"')}function convertCfnBotDialogCodeHookSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDialogCodeHookSettingPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotDialogCodeHookSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotInputContextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "InputContextProperty"')}function convertCfnBotInputContextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotInputContextPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnBotInputContextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotKendraConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kendraIndex",cdk().requiredValidator)(properties.kendraIndex)),errors.collect(cdk().propertyValidator("kendraIndex",cdk().validateString)(properties.kendraIndex)),errors.collect(cdk().propertyValidator("queryFilterString",cdk().validateString)(properties.queryFilterString)),errors.collect(cdk().propertyValidator("queryFilterStringEnabled",cdk().validateBoolean)(properties.queryFilterStringEnabled)),errors.wrap('supplied properties not correct for "KendraConfigurationProperty"')}function convertCfnBotKendraConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotKendraConfigurationPropertyValidator(properties).assertSuccess(),{KendraIndex:cdk().stringToCloudFormation(properties.kendraIndex),QueryFilterString:cdk().stringToCloudFormation(properties.queryFilterString),QueryFilterStringEnabled:cdk().booleanToCloudFormation(properties.queryFilterStringEnabled)}):properties}function CfnBotKendraConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kendraIndex","KendraIndex",properties.KendraIndex!=null?cfn_parse().FromCloudFormation.getString(properties.KendraIndex):void 0),ret.addPropertyResult("queryFilterString","QueryFilterString",properties.QueryFilterString!=null?cfn_parse().FromCloudFormation.getString(properties.QueryFilterString):void 0),ret.addPropertyResult("queryFilterStringEnabled","QueryFilterStringEnabled",properties.QueryFilterStringEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.QueryFilterStringEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotIntentClosingSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("closingResponse",CfnBotResponseSpecificationPropertyValidator)(properties.closingResponse)),errors.collect(cdk().propertyValidator("conditional",CfnBotConditionalSpecificationPropertyValidator)(properties.conditional)),errors.collect(cdk().propertyValidator("isActive",cdk().validateBoolean)(properties.isActive)),errors.collect(cdk().propertyValidator("nextStep",CfnBotDialogStatePropertyValidator)(properties.nextStep)),errors.wrap('supplied properties not correct for "IntentClosingSettingProperty"')}function convertCfnBotIntentClosingSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotIntentClosingSettingPropertyValidator(properties).assertSuccess(),{ClosingResponse:convertCfnBotResponseSpecificationPropertyToCloudFormation(properties.closingResponse),Conditional:convertCfnBotConditionalSpecificationPropertyToCloudFormation(properties.conditional),IsActive:cdk().booleanToCloudFormation(properties.isActive),NextStep:convertCfnBotDialogStatePropertyToCloudFormation(properties.nextStep)}):properties}function CfnBotIntentClosingSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("closingResponse","ClosingResponse",properties.ClosingResponse!=null?CfnBotResponseSpecificationPropertyFromCloudFormation(properties.ClosingResponse):void 0),ret.addPropertyResult("conditional","Conditional",properties.Conditional!=null?CfnBotConditionalSpecificationPropertyFromCloudFormation(properties.Conditional):void 0),ret.addPropertyResult("isActive","IsActive",properties.IsActive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsActive):void 0),ret.addPropertyResult("nextStep","NextStep",properties.NextStep!=null?CfnBotDialogStatePropertyFromCloudFormation(properties.NextStep):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotOutputContextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("timeToLiveInSeconds",cdk().requiredValidator)(properties.timeToLiveInSeconds)),errors.collect(cdk().propertyValidator("timeToLiveInSeconds",cdk().validateNumber)(properties.timeToLiveInSeconds)),errors.collect(cdk().propertyValidator("turnsToLive",cdk().requiredValidator)(properties.turnsToLive)),errors.collect(cdk().propertyValidator("turnsToLive",cdk().validateNumber)(properties.turnsToLive)),errors.wrap('supplied properties not correct for "OutputContextProperty"')}function convertCfnBotOutputContextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotOutputContextPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),TimeToLiveInSeconds:cdk().numberToCloudFormation(properties.timeToLiveInSeconds),TurnsToLive:cdk().numberToCloudFormation(properties.turnsToLive)}):properties}function CfnBotOutputContextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("timeToLiveInSeconds","TimeToLiveInSeconds",properties.TimeToLiveInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeToLiveInSeconds):void 0),ret.addPropertyResult("turnsToLive","TurnsToLive",properties.TurnsToLive!=null?cfn_parse().FromCloudFormation.getNumber(properties.TurnsToLive):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotPriorityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("slotName",cdk().requiredValidator)(properties.slotName)),errors.collect(cdk().propertyValidator("slotName",cdk().validateString)(properties.slotName)),errors.wrap('supplied properties not correct for "SlotPriorityProperty"')}function convertCfnBotSlotPriorityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotPriorityPropertyValidator(properties).assertSuccess(),{Priority:cdk().numberToCloudFormation(properties.priority),SlotName:cdk().stringToCloudFormation(properties.slotName)}):properties}function CfnBotSlotPriorityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("slotName","SlotName",properties.SlotName!=null?cfn_parse().FromCloudFormation.getString(properties.SlotName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotExactResponseFieldsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("answerField",cdk().validateString)(properties.answerField)),errors.collect(cdk().propertyValidator("questionField",cdk().validateString)(properties.questionField)),errors.wrap('supplied properties not correct for "ExactResponseFieldsProperty"')}function convertCfnBotExactResponseFieldsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotExactResponseFieldsPropertyValidator(properties).assertSuccess(),{AnswerField:cdk().stringToCloudFormation(properties.answerField),QuestionField:cdk().stringToCloudFormation(properties.questionField)}):properties}function CfnBotExactResponseFieldsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("answerField","AnswerField",properties.AnswerField!=null?cfn_parse().FromCloudFormation.getString(properties.AnswerField):void 0),ret.addPropertyResult("questionField","QuestionField",properties.QuestionField!=null?cfn_parse().FromCloudFormation.getString(properties.QuestionField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotOpensearchConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("domainEndpoint",cdk().validateString)(properties.domainEndpoint)),errors.collect(cdk().propertyValidator("exactResponse",cdk().validateBoolean)(properties.exactResponse)),errors.collect(cdk().propertyValidator("exactResponseFields",CfnBotExactResponseFieldsPropertyValidator)(properties.exactResponseFields)),errors.collect(cdk().propertyValidator("includeFields",cdk().listValidator(cdk().validateString))(properties.includeFields)),errors.collect(cdk().propertyValidator("indexName",cdk().validateString)(properties.indexName)),errors.wrap('supplied properties not correct for "OpensearchConfigurationProperty"')}function convertCfnBotOpensearchConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotOpensearchConfigurationPropertyValidator(properties).assertSuccess(),{DomainEndpoint:cdk().stringToCloudFormation(properties.domainEndpoint),ExactResponse:cdk().booleanToCloudFormation(properties.exactResponse),ExactResponseFields:convertCfnBotExactResponseFieldsPropertyToCloudFormation(properties.exactResponseFields),IncludeFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeFields),IndexName:cdk().stringToCloudFormation(properties.indexName)}):properties}function CfnBotOpensearchConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("domainEndpoint","DomainEndpoint",properties.DomainEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.DomainEndpoint):void 0),ret.addPropertyResult("exactResponse","ExactResponse",properties.ExactResponse!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ExactResponse):void 0),ret.addPropertyResult("exactResponseFields","ExactResponseFields",properties.ExactResponseFields!=null?CfnBotExactResponseFieldsPropertyFromCloudFormation(properties.ExactResponseFields):void 0),ret.addPropertyResult("includeFields","IncludeFields",properties.IncludeFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeFields):void 0),ret.addPropertyResult("indexName","IndexName",properties.IndexName!=null?cfn_parse().FromCloudFormation.getString(properties.IndexName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBKBExactResponseFieldsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("answerField",cdk().validateString)(properties.answerField)),errors.wrap('supplied properties not correct for "BKBExactResponseFieldsProperty"')}function convertCfnBotBKBExactResponseFieldsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBKBExactResponseFieldsPropertyValidator(properties).assertSuccess(),{AnswerField:cdk().stringToCloudFormation(properties.answerField)}):properties}function CfnBotBKBExactResponseFieldsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("answerField","AnswerField",properties.AnswerField!=null?cfn_parse().FromCloudFormation.getString(properties.AnswerField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockKnowledgeStoreConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bkbExactResponseFields",CfnBotBKBExactResponseFieldsPropertyValidator)(properties.bkbExactResponseFields)),errors.collect(cdk().propertyValidator("bedrockKnowledgeBaseArn",cdk().validateString)(properties.bedrockKnowledgeBaseArn)),errors.collect(cdk().propertyValidator("exactResponse",cdk().validateBoolean)(properties.exactResponse)),errors.wrap('supplied properties not correct for "BedrockKnowledgeStoreConfigurationProperty"')}function convertCfnBotBedrockKnowledgeStoreConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockKnowledgeStoreConfigurationPropertyValidator(properties).assertSuccess(),{BKBExactResponseFields:convertCfnBotBKBExactResponseFieldsPropertyToCloudFormation(properties.bkbExactResponseFields),BedrockKnowledgeBaseArn:cdk().stringToCloudFormation(properties.bedrockKnowledgeBaseArn),ExactResponse:cdk().booleanToCloudFormation(properties.exactResponse)}):properties}function CfnBotBedrockKnowledgeStoreConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockKnowledgeBaseArn","BedrockKnowledgeBaseArn",properties.BedrockKnowledgeBaseArn!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockKnowledgeBaseArn):void 0),ret.addPropertyResult("bkbExactResponseFields","BKBExactResponseFields",properties.BKBExactResponseFields!=null?CfnBotBKBExactResponseFieldsPropertyFromCloudFormation(properties.BKBExactResponseFields):void 0),ret.addPropertyResult("exactResponse","ExactResponse",properties.ExactResponse!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ExactResponse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotQnAKendraConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exactResponse",cdk().requiredValidator)(properties.exactResponse)),errors.collect(cdk().propertyValidator("exactResponse",cdk().validateBoolean)(properties.exactResponse)),errors.collect(cdk().propertyValidator("kendraIndex",cdk().requiredValidator)(properties.kendraIndex)),errors.collect(cdk().propertyValidator("kendraIndex",cdk().validateString)(properties.kendraIndex)),errors.collect(cdk().propertyValidator("queryFilterString",cdk().validateString)(properties.queryFilterString)),errors.collect(cdk().propertyValidator("queryFilterStringEnabled",cdk().requiredValidator)(properties.queryFilterStringEnabled)),errors.collect(cdk().propertyValidator("queryFilterStringEnabled",cdk().validateBoolean)(properties.queryFilterStringEnabled)),errors.wrap('supplied properties not correct for "QnAKendraConfigurationProperty"')}function convertCfnBotQnAKendraConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotQnAKendraConfigurationPropertyValidator(properties).assertSuccess(),{ExactResponse:cdk().booleanToCloudFormation(properties.exactResponse),KendraIndex:cdk().stringToCloudFormation(properties.kendraIndex),QueryFilterString:cdk().stringToCloudFormation(properties.queryFilterString),QueryFilterStringEnabled:cdk().booleanToCloudFormation(properties.queryFilterStringEnabled)}):properties}function CfnBotQnAKendraConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exactResponse","ExactResponse",properties.ExactResponse!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ExactResponse):void 0),ret.addPropertyResult("kendraIndex","KendraIndex",properties.KendraIndex!=null?cfn_parse().FromCloudFormation.getString(properties.KendraIndex):void 0),ret.addPropertyResult("queryFilterString","QueryFilterString",properties.QueryFilterString!=null?cfn_parse().FromCloudFormation.getString(properties.QueryFilterString):void 0),ret.addPropertyResult("queryFilterStringEnabled","QueryFilterStringEnabled",properties.QueryFilterStringEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.QueryFilterStringEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDataSourceConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockKnowledgeStoreConfiguration",CfnBotBedrockKnowledgeStoreConfigurationPropertyValidator)(properties.bedrockKnowledgeStoreConfiguration)),errors.collect(cdk().propertyValidator("kendraConfiguration",CfnBotQnAKendraConfigurationPropertyValidator)(properties.kendraConfiguration)),errors.collect(cdk().propertyValidator("opensearchConfiguration",CfnBotOpensearchConfigurationPropertyValidator)(properties.opensearchConfiguration)),errors.wrap('supplied properties not correct for "DataSourceConfigurationProperty"')}function convertCfnBotDataSourceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDataSourceConfigurationPropertyValidator(properties).assertSuccess(),{BedrockKnowledgeStoreConfiguration:convertCfnBotBedrockKnowledgeStoreConfigurationPropertyToCloudFormation(properties.bedrockKnowledgeStoreConfiguration),KendraConfiguration:convertCfnBotQnAKendraConfigurationPropertyToCloudFormation(properties.kendraConfiguration),OpensearchConfiguration:convertCfnBotOpensearchConfigurationPropertyToCloudFormation(properties.opensearchConfiguration)}):properties}function CfnBotDataSourceConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockKnowledgeStoreConfiguration","BedrockKnowledgeStoreConfiguration",properties.BedrockKnowledgeStoreConfiguration!=null?CfnBotBedrockKnowledgeStoreConfigurationPropertyFromCloudFormation(properties.BedrockKnowledgeStoreConfiguration):void 0),ret.addPropertyResult("kendraConfiguration","KendraConfiguration",properties.KendraConfiguration!=null?CfnBotQnAKendraConfigurationPropertyFromCloudFormation(properties.KendraConfiguration):void 0),ret.addPropertyResult("opensearchConfiguration","OpensearchConfiguration",properties.OpensearchConfiguration!=null?CfnBotOpensearchConfigurationPropertyFromCloudFormation(properties.OpensearchConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockGuardrailConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockGuardrailIdentifier",cdk().validateString)(properties.bedrockGuardrailIdentifier)),errors.collect(cdk().propertyValidator("bedrockGuardrailVersion",cdk().validateString)(properties.bedrockGuardrailVersion)),errors.wrap('supplied properties not correct for "BedrockGuardrailConfigurationProperty"')}function convertCfnBotBedrockGuardrailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockGuardrailConfigurationPropertyValidator(properties).assertSuccess(),{BedrockGuardrailIdentifier:cdk().stringToCloudFormation(properties.bedrockGuardrailIdentifier),BedrockGuardrailVersion:cdk().stringToCloudFormation(properties.bedrockGuardrailVersion)}):properties}function CfnBotBedrockGuardrailConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockGuardrailIdentifier","BedrockGuardrailIdentifier",properties.BedrockGuardrailIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockGuardrailIdentifier):void 0),ret.addPropertyResult("bedrockGuardrailVersion","BedrockGuardrailVersion",properties.BedrockGuardrailVersion!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockGuardrailVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockModelSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockGuardrailConfiguration",CfnBotBedrockGuardrailConfigurationPropertyValidator)(properties.bedrockGuardrailConfiguration)),errors.collect(cdk().propertyValidator("bedrockModelCustomPrompt",cdk().validateString)(properties.bedrockModelCustomPrompt)),errors.collect(cdk().propertyValidator("bedrockTraceStatus",cdk().validateString)(properties.bedrockTraceStatus)),errors.collect(cdk().propertyValidator("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.wrap('supplied properties not correct for "BedrockModelSpecificationProperty"')}function convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockModelSpecificationPropertyValidator(properties).assertSuccess(),{BedrockGuardrailConfiguration:convertCfnBotBedrockGuardrailConfigurationPropertyToCloudFormation(properties.bedrockGuardrailConfiguration),BedrockModelCustomPrompt:cdk().stringToCloudFormation(properties.bedrockModelCustomPrompt),BedrockTraceStatus:cdk().stringToCloudFormation(properties.bedrockTraceStatus),ModelArn:cdk().stringToCloudFormation(properties.modelArn)}):properties}function CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockGuardrailConfiguration","BedrockGuardrailConfiguration",properties.BedrockGuardrailConfiguration!=null?CfnBotBedrockGuardrailConfigurationPropertyFromCloudFormation(properties.BedrockGuardrailConfiguration):void 0),ret.addPropertyResult("bedrockModelCustomPrompt","BedrockModelCustomPrompt",properties.BedrockModelCustomPrompt!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockModelCustomPrompt):void 0),ret.addPropertyResult("bedrockTraceStatus","BedrockTraceStatus",properties.BedrockTraceStatus!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockTraceStatus):void 0),ret.addPropertyResult("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotQnAIntentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockModelConfiguration",cdk().requiredValidator)(properties.bedrockModelConfiguration)),errors.collect(cdk().propertyValidator("bedrockModelConfiguration",CfnBotBedrockModelSpecificationPropertyValidator)(properties.bedrockModelConfiguration)),errors.collect(cdk().propertyValidator("dataSourceConfiguration",cdk().requiredValidator)(properties.dataSourceConfiguration)),errors.collect(cdk().propertyValidator("dataSourceConfiguration",CfnBotDataSourceConfigurationPropertyValidator)(properties.dataSourceConfiguration)),errors.wrap('supplied properties not correct for "QnAIntentConfigurationProperty"')}function convertCfnBotQnAIntentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotQnAIntentConfigurationPropertyValidator(properties).assertSuccess(),{BedrockModelConfiguration:convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties.bedrockModelConfiguration),DataSourceConfiguration:convertCfnBotDataSourceConfigurationPropertyToCloudFormation(properties.dataSourceConfiguration)}):properties}function CfnBotQnAIntentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockModelConfiguration","BedrockModelConfiguration",properties.BedrockModelConfiguration!=null?CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties.BedrockModelConfiguration):void 0),ret.addPropertyResult("dataSourceConfiguration","DataSourceConfiguration",properties.DataSourceConfiguration!=null?CfnBotDataSourceConfigurationPropertyFromCloudFormation(properties.DataSourceConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotQInConnectAssistantConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("assistantArn",cdk().requiredValidator)(properties.assistantArn)),errors.collect(cdk().propertyValidator("assistantArn",cdk().validateString)(properties.assistantArn)),errors.wrap('supplied properties not correct for "QInConnectAssistantConfigurationProperty"')}function convertCfnBotQInConnectAssistantConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotQInConnectAssistantConfigurationPropertyValidator(properties).assertSuccess(),{AssistantArn:cdk().stringToCloudFormation(properties.assistantArn)}):properties}function CfnBotQInConnectAssistantConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("assistantArn","AssistantArn",properties.AssistantArn!=null?cfn_parse().FromCloudFormation.getString(properties.AssistantArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotQInConnectIntentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("qInConnectAssistantConfiguration",CfnBotQInConnectAssistantConfigurationPropertyValidator)(properties.qInConnectAssistantConfiguration)),errors.wrap('supplied properties not correct for "QInConnectIntentConfigurationProperty"')}function convertCfnBotQInConnectIntentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotQInConnectIntentConfigurationPropertyValidator(properties).assertSuccess(),{QInConnectAssistantConfiguration:convertCfnBotQInConnectAssistantConfigurationPropertyToCloudFormation(properties.qInConnectAssistantConfiguration)}):properties}function CfnBotQInConnectIntentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("qInConnectAssistantConfiguration","QInConnectAssistantConfiguration",properties.QInConnectAssistantConfiguration!=null?CfnBotQInConnectAssistantConfigurationPropertyFromCloudFormation(properties.QInConnectAssistantConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockAgentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockAgentAliasId",cdk().validateString)(properties.bedrockAgentAliasId)),errors.collect(cdk().propertyValidator("bedrockAgentId",cdk().validateString)(properties.bedrockAgentId)),errors.wrap('supplied properties not correct for "BedrockAgentConfigurationProperty"')}function convertCfnBotBedrockAgentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockAgentConfigurationPropertyValidator(properties).assertSuccess(),{BedrockAgentAliasId:cdk().stringToCloudFormation(properties.bedrockAgentAliasId),BedrockAgentId:cdk().stringToCloudFormation(properties.bedrockAgentId)}):properties}function CfnBotBedrockAgentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockAgentAliasId","BedrockAgentAliasId",properties.BedrockAgentAliasId!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockAgentAliasId):void 0),ret.addPropertyResult("bedrockAgentId","BedrockAgentId",properties.BedrockAgentId!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockAgentId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockKnowledgeBaseArn",cdk().requiredValidator)(properties.bedrockKnowledgeBaseArn)),errors.collect(cdk().propertyValidator("bedrockKnowledgeBaseArn",cdk().validateString)(properties.bedrockKnowledgeBaseArn)),errors.collect(cdk().propertyValidator("bedrockModelConfiguration",cdk().requiredValidator)(properties.bedrockModelConfiguration)),errors.collect(cdk().propertyValidator("bedrockModelConfiguration",CfnBotBedrockModelSpecificationPropertyValidator)(properties.bedrockModelConfiguration)),errors.wrap('supplied properties not correct for "BedrockAgentIntentKnowledgeBaseConfigurationProperty"')}function convertCfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyValidator(properties).assertSuccess(),{BedrockKnowledgeBaseArn:cdk().stringToCloudFormation(properties.bedrockKnowledgeBaseArn),BedrockModelConfiguration:convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties.bedrockModelConfiguration)}):properties}function CfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockKnowledgeBaseArn","BedrockKnowledgeBaseArn",properties.BedrockKnowledgeBaseArn!=null?cfn_parse().FromCloudFormation.getString(properties.BedrockKnowledgeBaseArn):void 0),ret.addPropertyResult("bedrockModelConfiguration","BedrockModelConfiguration",properties.BedrockModelConfiguration!=null?CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties.BedrockModelConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBedrockAgentIntentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockAgentConfiguration",CfnBotBedrockAgentConfigurationPropertyValidator)(properties.bedrockAgentConfiguration)),errors.collect(cdk().propertyValidator("bedrockAgentIntentKnowledgeBaseConfiguration",CfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyValidator)(properties.bedrockAgentIntentKnowledgeBaseConfiguration)),errors.wrap('supplied properties not correct for "BedrockAgentIntentConfigurationProperty"')}function convertCfnBotBedrockAgentIntentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBedrockAgentIntentConfigurationPropertyValidator(properties).assertSuccess(),{BedrockAgentConfiguration:convertCfnBotBedrockAgentConfigurationPropertyToCloudFormation(properties.bedrockAgentConfiguration),BedrockAgentIntentKnowledgeBaseConfiguration:convertCfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyToCloudFormation(properties.bedrockAgentIntentKnowledgeBaseConfiguration)}):properties}function CfnBotBedrockAgentIntentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockAgentConfiguration","BedrockAgentConfiguration",properties.BedrockAgentConfiguration!=null?CfnBotBedrockAgentConfigurationPropertyFromCloudFormation(properties.BedrockAgentConfiguration):void 0),ret.addPropertyResult("bedrockAgentIntentKnowledgeBaseConfiguration","BedrockAgentIntentKnowledgeBaseConfiguration",properties.BedrockAgentIntentKnowledgeBaseConfiguration!=null?CfnBotBedrockAgentIntentKnowledgeBaseConfigurationPropertyFromCloudFormation(properties.BedrockAgentIntentKnowledgeBaseConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotIntentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockAgentIntentConfiguration",CfnBotBedrockAgentIntentConfigurationPropertyValidator)(properties.bedrockAgentIntentConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("dialogCodeHook",CfnBotDialogCodeHookSettingPropertyValidator)(properties.dialogCodeHook)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("fulfillmentCodeHook",CfnBotFulfillmentCodeHookSettingPropertyValidator)(properties.fulfillmentCodeHook)),errors.collect(cdk().propertyValidator("initialResponseSetting",CfnBotInitialResponseSettingPropertyValidator)(properties.initialResponseSetting)),errors.collect(cdk().propertyValidator("inputContexts",cdk().listValidator(CfnBotInputContextPropertyValidator))(properties.inputContexts)),errors.collect(cdk().propertyValidator("intentClosingSetting",CfnBotIntentClosingSettingPropertyValidator)(properties.intentClosingSetting)),errors.collect(cdk().propertyValidator("intentConfirmationSetting",CfnBotIntentConfirmationSettingPropertyValidator)(properties.intentConfirmationSetting)),errors.collect(cdk().propertyValidator("kendraConfiguration",CfnBotKendraConfigurationPropertyValidator)(properties.kendraConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outputContexts",cdk().listValidator(CfnBotOutputContextPropertyValidator))(properties.outputContexts)),errors.collect(cdk().propertyValidator("parentIntentSignature",cdk().validateString)(properties.parentIntentSignature)),errors.collect(cdk().propertyValidator("qInConnectIntentConfiguration",CfnBotQInConnectIntentConfigurationPropertyValidator)(properties.qInConnectIntentConfiguration)),errors.collect(cdk().propertyValidator("qnAIntentConfiguration",CfnBotQnAIntentConfigurationPropertyValidator)(properties.qnAIntentConfiguration)),errors.collect(cdk().propertyValidator("sampleUtterances",cdk().listValidator(CfnBotSampleUtterancePropertyValidator))(properties.sampleUtterances)),errors.collect(cdk().propertyValidator("slotPriorities",cdk().listValidator(CfnBotSlotPriorityPropertyValidator))(properties.slotPriorities)),errors.collect(cdk().propertyValidator("slots",cdk().listValidator(CfnBotSlotPropertyValidator))(properties.slots)),errors.wrap('supplied properties not correct for "IntentProperty"')}function convertCfnBotIntentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotIntentPropertyValidator(properties).assertSuccess(),{BedrockAgentIntentConfiguration:convertCfnBotBedrockAgentIntentConfigurationPropertyToCloudFormation(properties.bedrockAgentIntentConfiguration),Description:cdk().stringToCloudFormation(properties.description),DialogCodeHook:convertCfnBotDialogCodeHookSettingPropertyToCloudFormation(properties.dialogCodeHook),DisplayName:cdk().stringToCloudFormation(properties.displayName),FulfillmentCodeHook:convertCfnBotFulfillmentCodeHookSettingPropertyToCloudFormation(properties.fulfillmentCodeHook),InitialResponseSetting:convertCfnBotInitialResponseSettingPropertyToCloudFormation(properties.initialResponseSetting),InputContexts:cdk().listMapper(convertCfnBotInputContextPropertyToCloudFormation)(properties.inputContexts),IntentClosingSetting:convertCfnBotIntentClosingSettingPropertyToCloudFormation(properties.intentClosingSetting),IntentConfirmationSetting:convertCfnBotIntentConfirmationSettingPropertyToCloudFormation(properties.intentConfirmationSetting),KendraConfiguration:convertCfnBotKendraConfigurationPropertyToCloudFormation(properties.kendraConfiguration),Name:cdk().stringToCloudFormation(properties.name),OutputContexts:cdk().listMapper(convertCfnBotOutputContextPropertyToCloudFormation)(properties.outputContexts),ParentIntentSignature:cdk().stringToCloudFormation(properties.parentIntentSignature),QInConnectIntentConfiguration:convertCfnBotQInConnectIntentConfigurationPropertyToCloudFormation(properties.qInConnectIntentConfiguration),QnAIntentConfiguration:convertCfnBotQnAIntentConfigurationPropertyToCloudFormation(properties.qnAIntentConfiguration),SampleUtterances:cdk().listMapper(convertCfnBotSampleUtterancePropertyToCloudFormation)(properties.sampleUtterances),SlotPriorities:cdk().listMapper(convertCfnBotSlotPriorityPropertyToCloudFormation)(properties.slotPriorities),Slots:cdk().listMapper(convertCfnBotSlotPropertyToCloudFormation)(properties.slots)}):properties}function CfnBotIntentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockAgentIntentConfiguration","BedrockAgentIntentConfiguration",properties.BedrockAgentIntentConfiguration!=null?CfnBotBedrockAgentIntentConfigurationPropertyFromCloudFormation(properties.BedrockAgentIntentConfiguration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("dialogCodeHook","DialogCodeHook",properties.DialogCodeHook!=null?CfnBotDialogCodeHookSettingPropertyFromCloudFormation(properties.DialogCodeHook):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("fulfillmentCodeHook","FulfillmentCodeHook",properties.FulfillmentCodeHook!=null?CfnBotFulfillmentCodeHookSettingPropertyFromCloudFormation(properties.FulfillmentCodeHook):void 0),ret.addPropertyResult("initialResponseSetting","InitialResponseSetting",properties.InitialResponseSetting!=null?CfnBotInitialResponseSettingPropertyFromCloudFormation(properties.InitialResponseSetting):void 0),ret.addPropertyResult("inputContexts","InputContexts",properties.InputContexts!=null?cfn_parse().FromCloudFormation.getArray(CfnBotInputContextPropertyFromCloudFormation)(properties.InputContexts):void 0),ret.addPropertyResult("intentClosingSetting","IntentClosingSetting",properties.IntentClosingSetting!=null?CfnBotIntentClosingSettingPropertyFromCloudFormation(properties.IntentClosingSetting):void 0),ret.addPropertyResult("intentConfirmationSetting","IntentConfirmationSetting",properties.IntentConfirmationSetting!=null?CfnBotIntentConfirmationSettingPropertyFromCloudFormation(properties.IntentConfirmationSetting):void 0),ret.addPropertyResult("kendraConfiguration","KendraConfiguration",properties.KendraConfiguration!=null?CfnBotKendraConfigurationPropertyFromCloudFormation(properties.KendraConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outputContexts","OutputContexts",properties.OutputContexts!=null?cfn_parse().FromCloudFormation.getArray(CfnBotOutputContextPropertyFromCloudFormation)(properties.OutputContexts):void 0),ret.addPropertyResult("parentIntentSignature","ParentIntentSignature",properties.ParentIntentSignature!=null?cfn_parse().FromCloudFormation.getString(properties.ParentIntentSignature):void 0),ret.addPropertyResult("qInConnectIntentConfiguration","QInConnectIntentConfiguration",properties.QInConnectIntentConfiguration!=null?CfnBotQInConnectIntentConfigurationPropertyFromCloudFormation(properties.QInConnectIntentConfiguration):void 0),ret.addPropertyResult("qnAIntentConfiguration","QnAIntentConfiguration",properties.QnAIntentConfiguration!=null?CfnBotQnAIntentConfigurationPropertyFromCloudFormation(properties.QnAIntentConfiguration):void 0),ret.addPropertyResult("sampleUtterances","SampleUtterances",properties.SampleUtterances!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSampleUtterancePropertyFromCloudFormation)(properties.SampleUtterances):void 0),ret.addPropertyResult("slotPriorities","SlotPriorities",properties.SlotPriorities!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotPriorityPropertyFromCloudFormation)(properties.SlotPriorities):void 0),ret.addPropertyResult("slots","Slots",properties.Slots!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotPropertyFromCloudFormation)(properties.Slots):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotVoiceSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("engine",cdk().validateString)(properties.engine)),errors.collect(cdk().propertyValidator("voiceId",cdk().requiredValidator)(properties.voiceId)),errors.collect(cdk().propertyValidator("voiceId",cdk().validateString)(properties.voiceId)),errors.wrap('supplied properties not correct for "VoiceSettingsProperty"')}function convertCfnBotVoiceSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotVoiceSettingsPropertyValidator(properties).assertSuccess(),{Engine:cdk().stringToCloudFormation(properties.engine),VoiceId:cdk().stringToCloudFormation(properties.voiceId)}):properties}function CfnBotVoiceSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("engine","Engine",properties.Engine!=null?cfn_parse().FromCloudFormation.getString(properties.Engine):void 0),ret.addPropertyResult("voiceId","VoiceId",properties.VoiceId!=null?cfn_parse().FromCloudFormation.getString(properties.VoiceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSpeechFoundationModelPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("modelArn",cdk().requiredValidator)(properties.modelArn)),errors.collect(cdk().propertyValidator("modelArn",cdk().validateString)(properties.modelArn)),errors.collect(cdk().propertyValidator("voiceId",cdk().validateString)(properties.voiceId)),errors.wrap('supplied properties not correct for "SpeechFoundationModelProperty"')}function convertCfnBotSpeechFoundationModelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSpeechFoundationModelPropertyValidator(properties).assertSuccess(),{ModelArn:cdk().stringToCloudFormation(properties.modelArn),VoiceId:cdk().stringToCloudFormation(properties.voiceId)}):properties}function CfnBotSpeechFoundationModelPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("modelArn","ModelArn",properties.ModelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ModelArn):void 0),ret.addPropertyResult("voiceId","VoiceId",properties.VoiceId!=null?cfn_parse().FromCloudFormation.getString(properties.VoiceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotUnifiedSpeechSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("speechFoundationModel",cdk().requiredValidator)(properties.speechFoundationModel)),errors.collect(cdk().propertyValidator("speechFoundationModel",CfnBotSpeechFoundationModelPropertyValidator)(properties.speechFoundationModel)),errors.wrap('supplied properties not correct for "UnifiedSpeechSettingsProperty"')}function convertCfnBotUnifiedSpeechSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotUnifiedSpeechSettingsPropertyValidator(properties).assertSuccess(),{SpeechFoundationModel:convertCfnBotSpeechFoundationModelPropertyToCloudFormation(properties.speechFoundationModel)}):properties}function CfnBotUnifiedSpeechSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("speechFoundationModel","SpeechFoundationModel",properties.SpeechFoundationModel!=null?CfnBotSpeechFoundationModelPropertyFromCloudFormation(properties.SpeechFoundationModel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDescriptiveBotBuilderSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockModelSpecification",CfnBotBedrockModelSpecificationPropertyValidator)(properties.bedrockModelSpecification)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "DescriptiveBotBuilderSpecificationProperty"')}function convertCfnBotDescriptiveBotBuilderSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDescriptiveBotBuilderSpecificationPropertyValidator(properties).assertSuccess(),{BedrockModelSpecification:convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties.bedrockModelSpecification),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotDescriptiveBotBuilderSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockModelSpecification","BedrockModelSpecification",properties.BedrockModelSpecification!=null?CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties.BedrockModelSpecification):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSampleUtteranceGenerationSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockModelSpecification",CfnBotBedrockModelSpecificationPropertyValidator)(properties.bedrockModelSpecification)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "SampleUtteranceGenerationSpecificationProperty"')}function convertCfnBotSampleUtteranceGenerationSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSampleUtteranceGenerationSpecificationPropertyValidator(properties).assertSuccess(),{BedrockModelSpecification:convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties.bedrockModelSpecification),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotSampleUtteranceGenerationSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockModelSpecification","BedrockModelSpecification",properties.BedrockModelSpecification!=null?CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties.BedrockModelSpecification):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBuildtimeSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("descriptiveBotBuilderSpecification",CfnBotDescriptiveBotBuilderSpecificationPropertyValidator)(properties.descriptiveBotBuilderSpecification)),errors.collect(cdk().propertyValidator("sampleUtteranceGenerationSpecification",CfnBotSampleUtteranceGenerationSpecificationPropertyValidator)(properties.sampleUtteranceGenerationSpecification)),errors.wrap('supplied properties not correct for "BuildtimeSettingsProperty"')}function convertCfnBotBuildtimeSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBuildtimeSettingsPropertyValidator(properties).assertSuccess(),{DescriptiveBotBuilderSpecification:convertCfnBotDescriptiveBotBuilderSpecificationPropertyToCloudFormation(properties.descriptiveBotBuilderSpecification),SampleUtteranceGenerationSpecification:convertCfnBotSampleUtteranceGenerationSpecificationPropertyToCloudFormation(properties.sampleUtteranceGenerationSpecification)}):properties}function CfnBotBuildtimeSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("descriptiveBotBuilderSpecification","DescriptiveBotBuilderSpecification",properties.DescriptiveBotBuilderSpecification!=null?CfnBotDescriptiveBotBuilderSpecificationPropertyFromCloudFormation(properties.DescriptiveBotBuilderSpecification):void 0),ret.addPropertyResult("sampleUtteranceGenerationSpecification","SampleUtteranceGenerationSpecification",properties.SampleUtteranceGenerationSpecification!=null?CfnBotSampleUtteranceGenerationSpecificationPropertyFromCloudFormation(properties.SampleUtteranceGenerationSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotIntentDisambiguationSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customDisambiguationMessage",cdk().validateString)(properties.customDisambiguationMessage)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("maxDisambiguationIntents",cdk().validateNumber)(properties.maxDisambiguationIntents)),errors.wrap('supplied properties not correct for "IntentDisambiguationSettingsProperty"')}function convertCfnBotIntentDisambiguationSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotIntentDisambiguationSettingsPropertyValidator(properties).assertSuccess(),{CustomDisambiguationMessage:cdk().stringToCloudFormation(properties.customDisambiguationMessage),Enabled:cdk().booleanToCloudFormation(properties.enabled),MaxDisambiguationIntents:cdk().numberToCloudFormation(properties.maxDisambiguationIntents)}):properties}function CfnBotIntentDisambiguationSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customDisambiguationMessage","CustomDisambiguationMessage",properties.CustomDisambiguationMessage!=null?cfn_parse().FromCloudFormation.getString(properties.CustomDisambiguationMessage):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("maxDisambiguationIntents","MaxDisambiguationIntents",properties.MaxDisambiguationIntents!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxDisambiguationIntents):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotNluImprovementSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("assistedNluMode",cdk().validateString)(properties.assistedNluMode)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("intentDisambiguationSettings",CfnBotIntentDisambiguationSettingsPropertyValidator)(properties.intentDisambiguationSettings)),errors.wrap('supplied properties not correct for "NluImprovementSpecificationProperty"')}function convertCfnBotNluImprovementSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotNluImprovementSpecificationPropertyValidator(properties).assertSuccess(),{AssistedNluMode:cdk().stringToCloudFormation(properties.assistedNluMode),Enabled:cdk().booleanToCloudFormation(properties.enabled),IntentDisambiguationSettings:convertCfnBotIntentDisambiguationSettingsPropertyToCloudFormation(properties.intentDisambiguationSettings)}):properties}function CfnBotNluImprovementSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("assistedNluMode","AssistedNluMode",properties.AssistedNluMode!=null?cfn_parse().FromCloudFormation.getString(properties.AssistedNluMode):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("intentDisambiguationSettings","IntentDisambiguationSettings",properties.IntentDisambiguationSettings!=null?CfnBotIntentDisambiguationSettingsPropertyFromCloudFormation(properties.IntentDisambiguationSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSlotResolutionImprovementSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bedrockModelSpecification",CfnBotBedrockModelSpecificationPropertyValidator)(properties.bedrockModelSpecification)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "SlotResolutionImprovementSpecificationProperty"')}function convertCfnBotSlotResolutionImprovementSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSlotResolutionImprovementSpecificationPropertyValidator(properties).assertSuccess(),{BedrockModelSpecification:convertCfnBotBedrockModelSpecificationPropertyToCloudFormation(properties.bedrockModelSpecification),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotSlotResolutionImprovementSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bedrockModelSpecification","BedrockModelSpecification",properties.BedrockModelSpecification!=null?CfnBotBedrockModelSpecificationPropertyFromCloudFormation(properties.BedrockModelSpecification):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotRuntimeSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nluImprovementSpecification",CfnBotNluImprovementSpecificationPropertyValidator)(properties.nluImprovementSpecification)),errors.collect(cdk().propertyValidator("slotResolutionImprovementSpecification",CfnBotSlotResolutionImprovementSpecificationPropertyValidator)(properties.slotResolutionImprovementSpecification)),errors.wrap('supplied properties not correct for "RuntimeSettingsProperty"')}function convertCfnBotRuntimeSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotRuntimeSettingsPropertyValidator(properties).assertSuccess(),{NluImprovementSpecification:convertCfnBotNluImprovementSpecificationPropertyToCloudFormation(properties.nluImprovementSpecification),SlotResolutionImprovementSpecification:convertCfnBotSlotResolutionImprovementSpecificationPropertyToCloudFormation(properties.slotResolutionImprovementSpecification)}):properties}function CfnBotRuntimeSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nluImprovementSpecification","NluImprovementSpecification",properties.NluImprovementSpecification!=null?CfnBotNluImprovementSpecificationPropertyFromCloudFormation(properties.NluImprovementSpecification):void 0),ret.addPropertyResult("slotResolutionImprovementSpecification","SlotResolutionImprovementSpecification",properties.SlotResolutionImprovementSpecification!=null?CfnBotSlotResolutionImprovementSpecificationPropertyFromCloudFormation(properties.SlotResolutionImprovementSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotGenerativeAISettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("buildtimeSettings",CfnBotBuildtimeSettingsPropertyValidator)(properties.buildtimeSettings)),errors.collect(cdk().propertyValidator("runtimeSettings",CfnBotRuntimeSettingsPropertyValidator)(properties.runtimeSettings)),errors.wrap('supplied properties not correct for "GenerativeAISettingsProperty"')}function convertCfnBotGenerativeAISettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotGenerativeAISettingsPropertyValidator(properties).assertSuccess(),{BuildtimeSettings:convertCfnBotBuildtimeSettingsPropertyToCloudFormation(properties.buildtimeSettings),RuntimeSettings:convertCfnBotRuntimeSettingsPropertyToCloudFormation(properties.runtimeSettings)}):properties}function CfnBotGenerativeAISettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("buildtimeSettings","BuildtimeSettings",properties.BuildtimeSettings!=null?CfnBotBuildtimeSettingsPropertyFromCloudFormation(properties.BuildtimeSettings):void 0),ret.addPropertyResult("runtimeSettings","RuntimeSettings",properties.RuntimeSettings!=null?CfnBotRuntimeSettingsPropertyFromCloudFormation(properties.RuntimeSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDeepgramSpeechModelConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiTokenSecretArn",cdk().requiredValidator)(properties.apiTokenSecretArn)),errors.collect(cdk().propertyValidator("apiTokenSecretArn",cdk().validateString)(properties.apiTokenSecretArn)),errors.collect(cdk().propertyValidator("modelId",cdk().validateString)(properties.modelId)),errors.wrap('supplied properties not correct for "DeepgramSpeechModelConfigProperty"')}function convertCfnBotDeepgramSpeechModelConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDeepgramSpeechModelConfigPropertyValidator(properties).assertSuccess(),{ApiTokenSecretArn:cdk().stringToCloudFormation(properties.apiTokenSecretArn),ModelId:cdk().stringToCloudFormation(properties.modelId)}):properties}function CfnBotDeepgramSpeechModelConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiTokenSecretArn","ApiTokenSecretArn",properties.ApiTokenSecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.ApiTokenSecretArn):void 0),ret.addPropertyResult("modelId","ModelId",properties.ModelId!=null?cfn_parse().FromCloudFormation.getString(properties.ModelId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSpeechModelConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("deepgramConfig",CfnBotDeepgramSpeechModelConfigPropertyValidator)(properties.deepgramConfig)),errors.wrap('supplied properties not correct for "SpeechModelConfigProperty"')}function convertCfnBotSpeechModelConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSpeechModelConfigPropertyValidator(properties).assertSuccess(),{DeepgramConfig:convertCfnBotDeepgramSpeechModelConfigPropertyToCloudFormation(properties.deepgramConfig)}):properties}function CfnBotSpeechModelConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("deepgramConfig","DeepgramConfig",properties.DeepgramConfig!=null?CfnBotDeepgramSpeechModelConfigPropertyFromCloudFormation(properties.DeepgramConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSpeechRecognitionSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("speechModelConfig",CfnBotSpeechModelConfigPropertyValidator)(properties.speechModelConfig)),errors.collect(cdk().propertyValidator("speechModelPreference",cdk().validateString)(properties.speechModelPreference)),errors.wrap('supplied properties not correct for "SpeechRecognitionSettingsProperty"')}function convertCfnBotSpeechRecognitionSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSpeechRecognitionSettingsPropertyValidator(properties).assertSuccess(),{SpeechModelConfig:convertCfnBotSpeechModelConfigPropertyToCloudFormation(properties.speechModelConfig),SpeechModelPreference:cdk().stringToCloudFormation(properties.speechModelPreference)}):properties}function CfnBotSpeechRecognitionSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("speechModelConfig","SpeechModelConfig",properties.SpeechModelConfig!=null?CfnBotSpeechModelConfigPropertyFromCloudFormation(properties.SpeechModelConfig):void 0),ret.addPropertyResult("speechModelPreference","SpeechModelPreference",properties.SpeechModelPreference!=null?cfn_parse().FromCloudFormation.getString(properties.SpeechModelPreference):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBotLocalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customVocabulary",CfnBotCustomVocabularyPropertyValidator)(properties.customVocabulary)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("generativeAiSettings",CfnBotGenerativeAISettingsPropertyValidator)(properties.generativeAiSettings)),errors.collect(cdk().propertyValidator("intents",cdk().listValidator(CfnBotIntentPropertyValidator))(properties.intents)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.collect(cdk().propertyValidator("nluConfidenceThreshold",cdk().requiredValidator)(properties.nluConfidenceThreshold)),errors.collect(cdk().propertyValidator("nluConfidenceThreshold",cdk().validateNumber)(properties.nluConfidenceThreshold)),errors.collect(cdk().propertyValidator("slotTypes",cdk().listValidator(CfnBotSlotTypePropertyValidator))(properties.slotTypes)),errors.collect(cdk().propertyValidator("speechDetectionSensitivity",cdk().validateString)(properties.speechDetectionSensitivity)),errors.collect(cdk().propertyValidator("speechRecognitionSettings",CfnBotSpeechRecognitionSettingsPropertyValidator)(properties.speechRecognitionSettings)),errors.collect(cdk().propertyValidator("unifiedSpeechSettings",CfnBotUnifiedSpeechSettingsPropertyValidator)(properties.unifiedSpeechSettings)),errors.collect(cdk().propertyValidator("voiceSettings",CfnBotVoiceSettingsPropertyValidator)(properties.voiceSettings)),errors.wrap('supplied properties not correct for "BotLocaleProperty"')}function convertCfnBotBotLocalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBotLocalePropertyValidator(properties).assertSuccess(),{CustomVocabulary:convertCfnBotCustomVocabularyPropertyToCloudFormation(properties.customVocabulary),Description:cdk().stringToCloudFormation(properties.description),GenerativeAISettings:convertCfnBotGenerativeAISettingsPropertyToCloudFormation(properties.generativeAiSettings),Intents:cdk().listMapper(convertCfnBotIntentPropertyToCloudFormation)(properties.intents),LocaleId:cdk().stringToCloudFormation(properties.localeId),NluConfidenceThreshold:cdk().numberToCloudFormation(properties.nluConfidenceThreshold),SlotTypes:cdk().listMapper(convertCfnBotSlotTypePropertyToCloudFormation)(properties.slotTypes),SpeechDetectionSensitivity:cdk().stringToCloudFormation(properties.speechDetectionSensitivity),SpeechRecognitionSettings:convertCfnBotSpeechRecognitionSettingsPropertyToCloudFormation(properties.speechRecognitionSettings),UnifiedSpeechSettings:convertCfnBotUnifiedSpeechSettingsPropertyToCloudFormation(properties.unifiedSpeechSettings),VoiceSettings:convertCfnBotVoiceSettingsPropertyToCloudFormation(properties.voiceSettings)}):properties}function CfnBotBotLocalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customVocabulary","CustomVocabulary",properties.CustomVocabulary!=null?CfnBotCustomVocabularyPropertyFromCloudFormation(properties.CustomVocabulary):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("generativeAiSettings","GenerativeAISettings",properties.GenerativeAISettings!=null?CfnBotGenerativeAISettingsPropertyFromCloudFormation(properties.GenerativeAISettings):void 0),ret.addPropertyResult("intents","Intents",properties.Intents!=null?cfn_parse().FromCloudFormation.getArray(CfnBotIntentPropertyFromCloudFormation)(properties.Intents):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addPropertyResult("nluConfidenceThreshold","NluConfidenceThreshold",properties.NluConfidenceThreshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.NluConfidenceThreshold):void 0),ret.addPropertyResult("slotTypes","SlotTypes",properties.SlotTypes!=null?cfn_parse().FromCloudFormation.getArray(CfnBotSlotTypePropertyFromCloudFormation)(properties.SlotTypes):void 0),ret.addPropertyResult("speechDetectionSensitivity","SpeechDetectionSensitivity",properties.SpeechDetectionSensitivity!=null?cfn_parse().FromCloudFormation.getString(properties.SpeechDetectionSensitivity):void 0),ret.addPropertyResult("speechRecognitionSettings","SpeechRecognitionSettings",properties.SpeechRecognitionSettings!=null?CfnBotSpeechRecognitionSettingsPropertyFromCloudFormation(properties.SpeechRecognitionSettings):void 0),ret.addPropertyResult("unifiedSpeechSettings","UnifiedSpeechSettings",properties.UnifiedSpeechSettings!=null?CfnBotUnifiedSpeechSettingsPropertyFromCloudFormation(properties.UnifiedSpeechSettings):void 0),ret.addPropertyResult("voiceSettings","VoiceSettings",properties.VoiceSettings!=null?CfnBotVoiceSettingsPropertyFromCloudFormation(properties.VoiceSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3ObjectKey",cdk().requiredValidator)(properties.s3ObjectKey)),errors.collect(cdk().propertyValidator("s3ObjectKey",cdk().validateString)(properties.s3ObjectKey)),errors.collect(cdk().propertyValidator("s3ObjectVersion",cdk().validateString)(properties.s3ObjectVersion)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnBotS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotS3LocationPropertyValidator(properties).assertSuccess(),{S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3ObjectKey:cdk().stringToCloudFormation(properties.s3ObjectKey),S3ObjectVersion:cdk().stringToCloudFormation(properties.s3ObjectVersion)}):properties}function CfnBotS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3ObjectKey","S3ObjectKey",properties.S3ObjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectKey):void 0),ret.addPropertyResult("s3ObjectVersion","S3ObjectVersion",properties.S3ObjectVersion!=null?cfn_parse().FromCloudFormation.getString(properties.S3ObjectVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotLambdaCodeHookPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHookInterfaceVersion",cdk().requiredValidator)(properties.codeHookInterfaceVersion)),errors.collect(cdk().propertyValidator("codeHookInterfaceVersion",cdk().validateString)(properties.codeHookInterfaceVersion)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "LambdaCodeHookProperty"')}function convertCfnBotLambdaCodeHookPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotLambdaCodeHookPropertyValidator(properties).assertSuccess(),{CodeHookInterfaceVersion:cdk().stringToCloudFormation(properties.codeHookInterfaceVersion),LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn)}):properties}function CfnBotLambdaCodeHookPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHookInterfaceVersion","CodeHookInterfaceVersion",properties.CodeHookInterfaceVersion!=null?cfn_parse().FromCloudFormation.getString(properties.CodeHookInterfaceVersion):void 0),ret.addPropertyResult("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotCodeHookSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lambdaCodeHook",cdk().requiredValidator)(properties.lambdaCodeHook)),errors.collect(cdk().propertyValidator("lambdaCodeHook",CfnBotLambdaCodeHookPropertyValidator)(properties.lambdaCodeHook)),errors.wrap('supplied properties not correct for "CodeHookSpecificationProperty"')}function convertCfnBotCodeHookSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCodeHookSpecificationPropertyValidator(properties).assertSuccess(),{LambdaCodeHook:convertCfnBotLambdaCodeHookPropertyToCloudFormation(properties.lambdaCodeHook)}):properties}function CfnBotCodeHookSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lambdaCodeHook","LambdaCodeHook",properties.LambdaCodeHook!=null?CfnBotLambdaCodeHookPropertyFromCloudFormation(properties.LambdaCodeHook):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBotAliasLocaleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHookSpecification",CfnBotCodeHookSpecificationPropertyValidator)(properties.codeHookSpecification)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "BotAliasLocaleSettingsProperty"')}function convertCfnBotBotAliasLocaleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBotAliasLocaleSettingsPropertyValidator(properties).assertSuccess(),{CodeHookSpecification:convertCfnBotCodeHookSpecificationPropertyToCloudFormation(properties.codeHookSpecification),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotBotAliasLocaleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHookSpecification","CodeHookSpecification",properties.CodeHookSpecification!=null?CfnBotCodeHookSpecificationPropertyFromCloudFormation(properties.CodeHookSpecification):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotBotAliasLocaleSettingsItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botAliasLocaleSetting",cdk().requiredValidator)(properties.botAliasLocaleSetting)),errors.collect(cdk().propertyValidator("botAliasLocaleSetting",CfnBotBotAliasLocaleSettingsPropertyValidator)(properties.botAliasLocaleSetting)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.wrap('supplied properties not correct for "BotAliasLocaleSettingsItemProperty"')}function convertCfnBotBotAliasLocaleSettingsItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotBotAliasLocaleSettingsItemPropertyValidator(properties).assertSuccess(),{BotAliasLocaleSetting:convertCfnBotBotAliasLocaleSettingsPropertyToCloudFormation(properties.botAliasLocaleSetting),LocaleId:cdk().stringToCloudFormation(properties.localeId)}):properties}function CfnBotBotAliasLocaleSettingsItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botAliasLocaleSetting","BotAliasLocaleSetting",properties.BotAliasLocaleSetting!=null?CfnBotBotAliasLocaleSettingsPropertyFromCloudFormation(properties.BotAliasLocaleSetting):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotCloudWatchLogGroupLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudWatchLogGroupArn",cdk().requiredValidator)(properties.cloudWatchLogGroupArn)),errors.collect(cdk().propertyValidator("cloudWatchLogGroupArn",cdk().validateString)(properties.cloudWatchLogGroupArn)),errors.collect(cdk().propertyValidator("logPrefix",cdk().requiredValidator)(properties.logPrefix)),errors.collect(cdk().propertyValidator("logPrefix",cdk().validateString)(properties.logPrefix)),errors.wrap('supplied properties not correct for "CloudWatchLogGroupLogDestinationProperty"')}function convertCfnBotCloudWatchLogGroupLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotCloudWatchLogGroupLogDestinationPropertyValidator(properties).assertSuccess(),{CloudWatchLogGroupArn:cdk().stringToCloudFormation(properties.cloudWatchLogGroupArn),LogPrefix:cdk().stringToCloudFormation(properties.logPrefix)}):properties}function CfnBotCloudWatchLogGroupLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchLogGroupArn","CloudWatchLogGroupArn",properties.CloudWatchLogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchLogGroupArn):void 0),ret.addPropertyResult("logPrefix","LogPrefix",properties.LogPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.LogPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotTextLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudWatch",cdk().requiredValidator)(properties.cloudWatch)),errors.collect(cdk().propertyValidator("cloudWatch",CfnBotCloudWatchLogGroupLogDestinationPropertyValidator)(properties.cloudWatch)),errors.wrap('supplied properties not correct for "TextLogDestinationProperty"')}function convertCfnBotTextLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotTextLogDestinationPropertyValidator(properties).assertSuccess(),{CloudWatch:convertCfnBotCloudWatchLogGroupLogDestinationPropertyToCloudFormation(properties.cloudWatch)}):properties}function CfnBotTextLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatch","CloudWatch",properties.CloudWatch!=null?CfnBotCloudWatchLogGroupLogDestinationPropertyFromCloudFormation(properties.CloudWatch):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotTextLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",CfnBotTextLogDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TextLogSettingProperty"')}function convertCfnBotTextLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotTextLogSettingPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBotTextLogDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotTextLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?CfnBotTextLogDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotS3BucketLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("logPrefix",cdk().requiredValidator)(properties.logPrefix)),errors.collect(cdk().propertyValidator("logPrefix",cdk().validateString)(properties.logPrefix)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().requiredValidator)(properties.s3BucketArn)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().validateString)(properties.s3BucketArn)),errors.wrap('supplied properties not correct for "S3BucketLogDestinationProperty"')}function convertCfnBotS3BucketLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotS3BucketLogDestinationPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),LogPrefix:cdk().stringToCloudFormation(properties.logPrefix),S3BucketArn:cdk().stringToCloudFormation(properties.s3BucketArn)}):properties}function CfnBotS3BucketLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("logPrefix","LogPrefix",properties.LogPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.LogPrefix):void 0),ret.addPropertyResult("s3BucketArn","S3BucketArn",properties.S3BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAudioLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",CfnBotS3BucketLogDestinationPropertyValidator)(properties.s3Bucket)),errors.wrap('supplied properties not correct for "AudioLogDestinationProperty"')}function convertCfnBotAudioLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAudioLogDestinationPropertyValidator(properties).assertSuccess(),{S3Bucket:convertCfnBotS3BucketLogDestinationPropertyToCloudFormation(properties.s3Bucket)}):properties}function CfnBotAudioLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?CfnBotS3BucketLogDestinationPropertyFromCloudFormation(properties.S3Bucket):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAudioLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",CfnBotAudioLogDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "AudioLogSettingProperty"')}function convertCfnBotAudioLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAudioLogSettingPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBotAudioLogDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotAudioLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?CfnBotAudioLogDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotConversationLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("audioLogSettings",cdk().listValidator(CfnBotAudioLogSettingPropertyValidator))(properties.audioLogSettings)),errors.collect(cdk().propertyValidator("textLogSettings",cdk().listValidator(CfnBotTextLogSettingPropertyValidator))(properties.textLogSettings)),errors.wrap('supplied properties not correct for "ConversationLogSettingsProperty"')}function convertCfnBotConversationLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotConversationLogSettingsPropertyValidator(properties).assertSuccess(),{AudioLogSettings:cdk().listMapper(convertCfnBotAudioLogSettingPropertyToCloudFormation)(properties.audioLogSettings),TextLogSettings:cdk().listMapper(convertCfnBotTextLogSettingPropertyToCloudFormation)(properties.textLogSettings)}):properties}function CfnBotConversationLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("audioLogSettings","AudioLogSettings",properties.AudioLogSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotAudioLogSettingPropertyFromCloudFormation)(properties.AudioLogSettings):void 0),ret.addPropertyResult("textLogSettings","TextLogSettings",properties.TextLogSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotTextLogSettingPropertyFromCloudFormation)(properties.TextLogSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotTestBotAliasSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botAliasLocaleSettings",cdk().listValidator(CfnBotBotAliasLocaleSettingsItemPropertyValidator))(properties.botAliasLocaleSettings)),errors.collect(cdk().propertyValidator("conversationLogSettings",CfnBotConversationLogSettingsPropertyValidator)(properties.conversationLogSettings)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("sentimentAnalysisSettings",cdk().validateObject)(properties.sentimentAnalysisSettings)),errors.wrap('supplied properties not correct for "TestBotAliasSettingsProperty"')}function convertCfnBotTestBotAliasSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotTestBotAliasSettingsPropertyValidator(properties).assertSuccess(),{BotAliasLocaleSettings:cdk().listMapper(convertCfnBotBotAliasLocaleSettingsItemPropertyToCloudFormation)(properties.botAliasLocaleSettings),ConversationLogSettings:convertCfnBotConversationLogSettingsPropertyToCloudFormation(properties.conversationLogSettings),Description:cdk().stringToCloudFormation(properties.description),SentimentAnalysisSettings:cdk().objectToCloudFormation(properties.sentimentAnalysisSettings)}):properties}function CfnBotTestBotAliasSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botAliasLocaleSettings","BotAliasLocaleSettings",properties.BotAliasLocaleSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotBotAliasLocaleSettingsItemPropertyFromCloudFormation)(properties.BotAliasLocaleSettings):void 0),ret.addPropertyResult("conversationLogSettings","ConversationLogSettings",properties.ConversationLogSettings!=null?CfnBotConversationLogSettingsPropertyFromCloudFormation(properties.ConversationLogSettings):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("sentimentAnalysisSettings","SentimentAnalysisSettings",properties.SentimentAnalysisSettings!=null?cfn_parse().FromCloudFormation.getAny(properties.SentimentAnalysisSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotDataPrivacyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("childDirected",cdk().requiredValidator)(properties.childDirected)),errors.collect(cdk().propertyValidator("childDirected",cdk().validateBoolean)(properties.childDirected)),errors.wrap('supplied properties not correct for "DataPrivacyProperty"')}function convertCfnBotDataPrivacyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotDataPrivacyPropertyValidator(properties).assertSuccess(),{ChildDirected:cdk().booleanToCloudFormation(properties.childDirected)}):properties}function CfnBotDataPrivacyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("childDirected","ChildDirected",properties.ChildDirected!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ChildDirected):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotErrorLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "ErrorLogSettingsProperty"')}function convertCfnBotErrorLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotErrorLogSettingsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotErrorLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotReplicationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("replicaRegions",cdk().requiredValidator)(properties.replicaRegions)),errors.collect(cdk().propertyValidator("replicaRegions",cdk().listValidator(cdk().validateString))(properties.replicaRegions)),errors.wrap('supplied properties not correct for "ReplicationProperty"')}function convertCfnBotReplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotReplicationPropertyValidator(properties).assertSuccess(),{ReplicaRegions:cdk().listMapper(cdk().stringToCloudFormation)(properties.replicaRegions)}):properties}function CfnBotReplicationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("replicaRegions","ReplicaRegions",properties.ReplicaRegions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ReplicaRegions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoBuildBotLocales",cdk().validateBoolean)(properties.autoBuildBotLocales)),errors.collect(cdk().propertyValidator("botFileS3Location",CfnBotS3LocationPropertyValidator)(properties.botFileS3Location)),errors.collect(cdk().propertyValidator("botLocales",cdk().listValidator(CfnBotBotLocalePropertyValidator))(properties.botLocales)),errors.collect(cdk().propertyValidator("botTags",cdk().listValidator(cdk().validateCfnTag))(properties.botTags)),errors.collect(cdk().propertyValidator("dataPrivacy",cdk().requiredValidator)(properties.dataPrivacy)),errors.collect(cdk().propertyValidator("dataPrivacy",cdk().validateObject)(properties.dataPrivacy)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("errorLogSettings",CfnBotErrorLogSettingsPropertyValidator)(properties.errorLogSettings)),errors.collect(cdk().propertyValidator("idleSessionTtlInSeconds",cdk().requiredValidator)(properties.idleSessionTtlInSeconds)),errors.collect(cdk().propertyValidator("idleSessionTtlInSeconds",cdk().validateNumber)(properties.idleSessionTtlInSeconds)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("replication",CfnBotReplicationPropertyValidator)(properties.replication)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("testBotAliasSettings",CfnBotTestBotAliasSettingsPropertyValidator)(properties.testBotAliasSettings)),errors.collect(cdk().propertyValidator("testBotAliasTags",cdk().listValidator(cdk().validateCfnTag))(properties.testBotAliasTags)),errors.wrap('supplied properties not correct for "CfnBotProps"')}function convertCfnBotPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotPropsValidator(properties).assertSuccess(),{AutoBuildBotLocales:cdk().booleanToCloudFormation(properties.autoBuildBotLocales),BotFileS3Location:convertCfnBotS3LocationPropertyToCloudFormation(properties.botFileS3Location),BotLocales:cdk().listMapper(convertCfnBotBotLocalePropertyToCloudFormation)(properties.botLocales),BotTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.botTags),DataPrivacy:cdk().objectToCloudFormation(properties.dataPrivacy),Description:cdk().stringToCloudFormation(properties.description),ErrorLogSettings:convertCfnBotErrorLogSettingsPropertyToCloudFormation(properties.errorLogSettings),IdleSessionTTLInSeconds:cdk().numberToCloudFormation(properties.idleSessionTtlInSeconds),Name:cdk().stringToCloudFormation(properties.name),Replication:convertCfnBotReplicationPropertyToCloudFormation(properties.replication),RoleArn:cdk().stringToCloudFormation(properties.roleArn),TestBotAliasSettings:convertCfnBotTestBotAliasSettingsPropertyToCloudFormation(properties.testBotAliasSettings),TestBotAliasTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.testBotAliasTags)}):properties}function CfnBotPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoBuildBotLocales","AutoBuildBotLocales",properties.AutoBuildBotLocales!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoBuildBotLocales):void 0),ret.addPropertyResult("botFileS3Location","BotFileS3Location",properties.BotFileS3Location!=null?CfnBotS3LocationPropertyFromCloudFormation(properties.BotFileS3Location):void 0),ret.addPropertyResult("botLocales","BotLocales",properties.BotLocales!=null?cfn_parse().FromCloudFormation.getArray(CfnBotBotLocalePropertyFromCloudFormation)(properties.BotLocales):void 0),ret.addPropertyResult("botTags","BotTags",properties.BotTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.BotTags):void 0),ret.addPropertyResult("dataPrivacy","DataPrivacy",properties.DataPrivacy!=null?cfn_parse().FromCloudFormation.getAny(properties.DataPrivacy):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errorLogSettings","ErrorLogSettings",properties.ErrorLogSettings!=null?CfnBotErrorLogSettingsPropertyFromCloudFormation(properties.ErrorLogSettings):void 0),ret.addPropertyResult("idleSessionTtlInSeconds","IdleSessionTTLInSeconds",properties.IdleSessionTTLInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.IdleSessionTTLInSeconds):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("replication","Replication",properties.Replication!=null?CfnBotReplicationPropertyFromCloudFormation(properties.Replication):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("testBotAliasSettings","TestBotAliasSettings",properties.TestBotAliasSettings!=null?CfnBotTestBotAliasSettingsPropertyFromCloudFormation(properties.TestBotAliasSettings):void 0),ret.addPropertyResult("testBotAliasTags","TestBotAliasTags",properties.TestBotAliasTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.TestBotAliasTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotSentimentAnalysisSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("detectSentiment",cdk().requiredValidator)(properties.detectSentiment)),errors.collect(cdk().propertyValidator("detectSentiment",cdk().validateBoolean)(properties.detectSentiment)),errors.wrap('supplied properties not correct for "SentimentAnalysisSettingsProperty"')}function convertCfnBotSentimentAnalysisSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotSentimentAnalysisSettingsPropertyValidator(properties).assertSuccess(),{DetectSentiment:cdk().booleanToCloudFormation(properties.detectSentiment)}):properties}function CfnBotSentimentAnalysisSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("detectSentiment","DetectSentiment",properties.DetectSentiment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetectSentiment):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBotAlias extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_lex.CfnBotAlias",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Lex::BotAlias";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBotAliasPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBotAlias(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnBotAlias(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBotAlias.CFN_RESOURCE_TYPE_NAME}static arnForBotAlias(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_lex_IBotAliasRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBotAlias),error}return resource.botAliasRef.botAliasArn}_botAliasLocaleSettings;_botAliasName;_botAliasTags;_botId;_botVersion;cdkTagManager;_conversationLogSettings;_description;_sentimentAnalysisSettings;cfnPropertyNames={botAliasLocaleSettings:"BotAliasLocaleSettings",botAliasName:"BotAliasName",botId:"BotId",botVersion:"BotVersion",botAliasTags:"BotAliasTags",conversationLogSettings:"ConversationLogSettings",description:"Description",sentimentAnalysisSettings:"SentimentAnalysisSettings"};constructor(scope,id,props){super(scope,id,{type:CfnBotAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_lex_CfnBotAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBotAlias),error}cdk().requireProperty(props,"botAliasName",this),cdk().requireProperty(props,"botId",this),this._botAliasLocaleSettings=props.botAliasLocaleSettings,this._botAliasName=props.botAliasName,this._botAliasTags=props.botAliasTags,this._botId=props.botId,this._botVersion=props.botVersion,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Lex::BotAlias",void 0,{tagPropertyName:"botAliasTags"}),this._conversationLogSettings=props.conversationLogSettings,this._description=props.description,this._sentimentAnalysisSettings=props.sentimentAnalysisSettings}get botAliasRef(){return{botAliasId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),botId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),botAliasArn:this.attrArn}}get botAliasLocaleSettings(){return this._botAliasLocaleSettings}set botAliasLocaleSettings(value){cdk().traceProperty(this.node,"BotAliasLocaleSettings"),this._botAliasLocaleSettings=value}get botAliasName(){return this._botAliasName}set botAliasName(value){cdk().traceProperty(this.node,"BotAliasName"),this._botAliasName=value}get botAliasTags(){return this._botAliasTags}set botAliasTags(value){cdk().traceProperty(this.node,"BotAliasTags"),this._botAliasTags=value}get botId(){return this._botId}set botId(value){cdk().traceProperty(this.node,"BotId"),this._botId=value}get botVersion(){return this._botVersion}set botVersion(value){cdk().traceProperty(this.node,"BotVersion"),this._botVersion=value}get conversationLogSettings(){return this._conversationLogSettings}set conversationLogSettings(value){cdk().traceProperty(this.node,"ConversationLogSettings"),this._conversationLogSettings=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get sentimentAnalysisSettings(){return this._sentimentAnalysisSettings}set sentimentAnalysisSettings(value){cdk().traceProperty(this.node,"SentimentAnalysisSettings"),this._sentimentAnalysisSettings=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrBotAliasId(){return cdk().Token.asString(this.getAtt("BotAliasId",cdk().ResolutionTypeHint.STRING))}get attrBotAliasStatus(){return cdk().Token.asString(this.getAtt("BotAliasStatus",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{botAliasLocaleSettings:this._botAliasLocaleSettings,botAliasName:this._botAliasName,botId:this._botId,botVersion:this._botVersion,botAliasTags:this.cdkTagManager.renderTags(this._botAliasTags),conversationLogSettings:this._conversationLogSettings,description:this._description,sentimentAnalysisSettings:this._sentimentAnalysisSettings}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBotAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBotAliasPropsToCloudFormation(props)}}exports.CfnBotAlias=CfnBotAlias;function CfnBotAliasLambdaCodeHookPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHookInterfaceVersion",cdk().requiredValidator)(properties.codeHookInterfaceVersion)),errors.collect(cdk().propertyValidator("codeHookInterfaceVersion",cdk().validateString)(properties.codeHookInterfaceVersion)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().requiredValidator)(properties.lambdaArn)),errors.collect(cdk().propertyValidator("lambdaArn",cdk().validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "LambdaCodeHookProperty"')}function convertCfnBotAliasLambdaCodeHookPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasLambdaCodeHookPropertyValidator(properties).assertSuccess(),{CodeHookInterfaceVersion:cdk().stringToCloudFormation(properties.codeHookInterfaceVersion),LambdaArn:cdk().stringToCloudFormation(properties.lambdaArn)}):properties}function CfnBotAliasLambdaCodeHookPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHookInterfaceVersion","CodeHookInterfaceVersion",properties.CodeHookInterfaceVersion!=null?cfn_parse().FromCloudFormation.getString(properties.CodeHookInterfaceVersion):void 0),ret.addPropertyResult("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse().FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasCodeHookSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lambdaCodeHook",cdk().requiredValidator)(properties.lambdaCodeHook)),errors.collect(cdk().propertyValidator("lambdaCodeHook",CfnBotAliasLambdaCodeHookPropertyValidator)(properties.lambdaCodeHook)),errors.wrap('supplied properties not correct for "CodeHookSpecificationProperty"')}function convertCfnBotAliasCodeHookSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasCodeHookSpecificationPropertyValidator(properties).assertSuccess(),{LambdaCodeHook:convertCfnBotAliasLambdaCodeHookPropertyToCloudFormation(properties.lambdaCodeHook)}):properties}function CfnBotAliasCodeHookSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lambdaCodeHook","LambdaCodeHook",properties.LambdaCodeHook!=null?CfnBotAliasLambdaCodeHookPropertyFromCloudFormation(properties.LambdaCodeHook):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasBotAliasLocaleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("codeHookSpecification",CfnBotAliasCodeHookSpecificationPropertyValidator)(properties.codeHookSpecification)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "BotAliasLocaleSettingsProperty"')}function convertCfnBotAliasBotAliasLocaleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasBotAliasLocaleSettingsPropertyValidator(properties).assertSuccess(),{CodeHookSpecification:convertCfnBotAliasCodeHookSpecificationPropertyToCloudFormation(properties.codeHookSpecification),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotAliasBotAliasLocaleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("codeHookSpecification","CodeHookSpecification",properties.CodeHookSpecification!=null?CfnBotAliasCodeHookSpecificationPropertyFromCloudFormation(properties.CodeHookSpecification):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasBotAliasLocaleSettingsItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botAliasLocaleSetting",cdk().requiredValidator)(properties.botAliasLocaleSetting)),errors.collect(cdk().propertyValidator("botAliasLocaleSetting",CfnBotAliasBotAliasLocaleSettingsPropertyValidator)(properties.botAliasLocaleSetting)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.wrap('supplied properties not correct for "BotAliasLocaleSettingsItemProperty"')}function convertCfnBotAliasBotAliasLocaleSettingsItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasBotAliasLocaleSettingsItemPropertyValidator(properties).assertSuccess(),{BotAliasLocaleSetting:convertCfnBotAliasBotAliasLocaleSettingsPropertyToCloudFormation(properties.botAliasLocaleSetting),LocaleId:cdk().stringToCloudFormation(properties.localeId)}):properties}function CfnBotAliasBotAliasLocaleSettingsItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botAliasLocaleSetting","BotAliasLocaleSetting",properties.BotAliasLocaleSetting!=null?CfnBotAliasBotAliasLocaleSettingsPropertyFromCloudFormation(properties.BotAliasLocaleSetting):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasCloudWatchLogGroupLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudWatchLogGroupArn",cdk().requiredValidator)(properties.cloudWatchLogGroupArn)),errors.collect(cdk().propertyValidator("cloudWatchLogGroupArn",cdk().validateString)(properties.cloudWatchLogGroupArn)),errors.collect(cdk().propertyValidator("logPrefix",cdk().requiredValidator)(properties.logPrefix)),errors.collect(cdk().propertyValidator("logPrefix",cdk().validateString)(properties.logPrefix)),errors.wrap('supplied properties not correct for "CloudWatchLogGroupLogDestinationProperty"')}function convertCfnBotAliasCloudWatchLogGroupLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasCloudWatchLogGroupLogDestinationPropertyValidator(properties).assertSuccess(),{CloudWatchLogGroupArn:cdk().stringToCloudFormation(properties.cloudWatchLogGroupArn),LogPrefix:cdk().stringToCloudFormation(properties.logPrefix)}):properties}function CfnBotAliasCloudWatchLogGroupLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchLogGroupArn","CloudWatchLogGroupArn",properties.CloudWatchLogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchLogGroupArn):void 0),ret.addPropertyResult("logPrefix","LogPrefix",properties.LogPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.LogPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasTextLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudWatch",cdk().requiredValidator)(properties.cloudWatch)),errors.collect(cdk().propertyValidator("cloudWatch",CfnBotAliasCloudWatchLogGroupLogDestinationPropertyValidator)(properties.cloudWatch)),errors.wrap('supplied properties not correct for "TextLogDestinationProperty"')}function convertCfnBotAliasTextLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasTextLogDestinationPropertyValidator(properties).assertSuccess(),{CloudWatch:convertCfnBotAliasCloudWatchLogGroupLogDestinationPropertyToCloudFormation(properties.cloudWatch)}):properties}function CfnBotAliasTextLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatch","CloudWatch",properties.CloudWatch!=null?CfnBotAliasCloudWatchLogGroupLogDestinationPropertyFromCloudFormation(properties.CloudWatch):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasTextLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",CfnBotAliasTextLogDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TextLogSettingProperty"')}function convertCfnBotAliasTextLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasTextLogSettingPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBotAliasTextLogDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotAliasTextLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?CfnBotAliasTextLogDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasS3BucketLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("logPrefix",cdk().requiredValidator)(properties.logPrefix)),errors.collect(cdk().propertyValidator("logPrefix",cdk().validateString)(properties.logPrefix)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().requiredValidator)(properties.s3BucketArn)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().validateString)(properties.s3BucketArn)),errors.wrap('supplied properties not correct for "S3BucketLogDestinationProperty"')}function convertCfnBotAliasS3BucketLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasS3BucketLogDestinationPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),LogPrefix:cdk().stringToCloudFormation(properties.logPrefix),S3BucketArn:cdk().stringToCloudFormation(properties.s3BucketArn)}):properties}function CfnBotAliasS3BucketLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("logPrefix","LogPrefix",properties.LogPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.LogPrefix):void 0),ret.addPropertyResult("s3BucketArn","S3BucketArn",properties.S3BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasAudioLogDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",CfnBotAliasS3BucketLogDestinationPropertyValidator)(properties.s3Bucket)),errors.wrap('supplied properties not correct for "AudioLogDestinationProperty"')}function convertCfnBotAliasAudioLogDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasAudioLogDestinationPropertyValidator(properties).assertSuccess(),{S3Bucket:convertCfnBotAliasS3BucketLogDestinationPropertyToCloudFormation(properties.s3Bucket)}):properties}function CfnBotAliasAudioLogDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Bucket","S3Bucket",properties.S3Bucket!=null?CfnBotAliasS3BucketLogDestinationPropertyFromCloudFormation(properties.S3Bucket):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasAudioLogSettingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",CfnBotAliasAudioLogDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "AudioLogSettingProperty"')}function convertCfnBotAliasAudioLogSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasAudioLogSettingPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBotAliasAudioLogDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnBotAliasAudioLogSettingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?CfnBotAliasAudioLogDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasConversationLogSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("audioLogSettings",cdk().listValidator(CfnBotAliasAudioLogSettingPropertyValidator))(properties.audioLogSettings)),errors.collect(cdk().propertyValidator("textLogSettings",cdk().listValidator(CfnBotAliasTextLogSettingPropertyValidator))(properties.textLogSettings)),errors.wrap('supplied properties not correct for "ConversationLogSettingsProperty"')}function convertCfnBotAliasConversationLogSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasConversationLogSettingsPropertyValidator(properties).assertSuccess(),{AudioLogSettings:cdk().listMapper(convertCfnBotAliasAudioLogSettingPropertyToCloudFormation)(properties.audioLogSettings),TextLogSettings:cdk().listMapper(convertCfnBotAliasTextLogSettingPropertyToCloudFormation)(properties.textLogSettings)}):properties}function CfnBotAliasConversationLogSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("audioLogSettings","AudioLogSettings",properties.AudioLogSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotAliasAudioLogSettingPropertyFromCloudFormation)(properties.AudioLogSettings):void 0),ret.addPropertyResult("textLogSettings","TextLogSettings",properties.TextLogSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotAliasTextLogSettingPropertyFromCloudFormation)(properties.TextLogSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasSentimentAnalysisSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("detectSentiment",cdk().requiredValidator)(properties.detectSentiment)),errors.collect(cdk().propertyValidator("detectSentiment",cdk().validateBoolean)(properties.detectSentiment)),errors.wrap('supplied properties not correct for "SentimentAnalysisSettingsProperty"')}function convertCfnBotAliasSentimentAnalysisSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasSentimentAnalysisSettingsPropertyValidator(properties).assertSuccess(),{DetectSentiment:cdk().booleanToCloudFormation(properties.detectSentiment)}):properties}function CfnBotAliasSentimentAnalysisSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("detectSentiment","DetectSentiment",properties.DetectSentiment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DetectSentiment):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotAliasPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botAliasLocaleSettings",cdk().listValidator(CfnBotAliasBotAliasLocaleSettingsItemPropertyValidator))(properties.botAliasLocaleSettings)),errors.collect(cdk().propertyValidator("botAliasName",cdk().requiredValidator)(properties.botAliasName)),errors.collect(cdk().propertyValidator("botAliasName",cdk().validateString)(properties.botAliasName)),errors.collect(cdk().propertyValidator("botAliasTags",cdk().listValidator(cdk().validateCfnTag))(properties.botAliasTags)),errors.collect(cdk().propertyValidator("botId",cdk().requiredValidator)(properties.botId)),errors.collect(cdk().propertyValidator("botId",cdk().validateString)(properties.botId)),errors.collect(cdk().propertyValidator("botVersion",cdk().validateString)(properties.botVersion)),errors.collect(cdk().propertyValidator("conversationLogSettings",CfnBotAliasConversationLogSettingsPropertyValidator)(properties.conversationLogSettings)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("sentimentAnalysisSettings",cdk().validateObject)(properties.sentimentAnalysisSettings)),errors.wrap('supplied properties not correct for "CfnBotAliasProps"')}function convertCfnBotAliasPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotAliasPropsValidator(properties).assertSuccess(),{BotAliasLocaleSettings:cdk().listMapper(convertCfnBotAliasBotAliasLocaleSettingsItemPropertyToCloudFormation)(properties.botAliasLocaleSettings),BotAliasName:cdk().stringToCloudFormation(properties.botAliasName),BotAliasTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.botAliasTags),BotId:cdk().stringToCloudFormation(properties.botId),BotVersion:cdk().stringToCloudFormation(properties.botVersion),ConversationLogSettings:convertCfnBotAliasConversationLogSettingsPropertyToCloudFormation(properties.conversationLogSettings),Description:cdk().stringToCloudFormation(properties.description),SentimentAnalysisSettings:cdk().objectToCloudFormation(properties.sentimentAnalysisSettings)}):properties}function CfnBotAliasPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botAliasLocaleSettings","BotAliasLocaleSettings",properties.BotAliasLocaleSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBotAliasBotAliasLocaleSettingsItemPropertyFromCloudFormation)(properties.BotAliasLocaleSettings):void 0),ret.addPropertyResult("botAliasName","BotAliasName",properties.BotAliasName!=null?cfn_parse().FromCloudFormation.getString(properties.BotAliasName):void 0),ret.addPropertyResult("botAliasTags","BotAliasTags",properties.BotAliasTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.BotAliasTags):void 0),ret.addPropertyResult("botId","BotId",properties.BotId!=null?cfn_parse().FromCloudFormation.getString(properties.BotId):void 0),ret.addPropertyResult("botVersion","BotVersion",properties.BotVersion!=null?cfn_parse().FromCloudFormation.getString(properties.BotVersion):void 0),ret.addPropertyResult("conversationLogSettings","ConversationLogSettings",properties.ConversationLogSettings!=null?CfnBotAliasConversationLogSettingsPropertyFromCloudFormation(properties.ConversationLogSettings):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("sentimentAnalysisSettings","SentimentAnalysisSettings",properties.SentimentAnalysisSettings!=null?cfn_parse().FromCloudFormation.getAny(properties.SentimentAnalysisSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBotVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_lex.CfnBotVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Lex::BotVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBotVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBotVersion(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnBotVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBotVersion.CFN_RESOURCE_TYPE_NAME}_botId;_botVersionLocaleSpecification;_description;cfnPropertyNames={botId:"BotId",botVersionLocaleSpecification:"BotVersionLocaleSpecification",description:"Description"};constructor(scope,id,props){super(scope,id,{type:CfnBotVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_lex_CfnBotVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBotVersion),error}cdk().requireProperty(props,"botId",this),cdk().requireProperty(props,"botVersionLocaleSpecification",this),this._botId=cdk().getRefProperty(props.botId?.botRef,"botId")??cdk().ensureStringOrUndefined(props.botId,"botId","lex.IBotRef | string"),this._botVersionLocaleSpecification=props.botVersionLocaleSpecification,this._description=props.description}get botVersionRef(){return{botId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),botVersion:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get botId(){return this._botId}set botId(value){cdk().traceProperty(this.node,"BotId"),this._botId=value}get botVersionLocaleSpecification(){return this._botVersionLocaleSpecification}set botVersionLocaleSpecification(value){cdk().traceProperty(this.node,"BotVersionLocaleSpecification"),this._botVersionLocaleSpecification=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get attrBotVersion(){return cdk().Token.asString(this.getAtt("BotVersion",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{botId:this._botId,botVersionLocaleSpecification:this._botVersionLocaleSpecification,description:this._description}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBotVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBotVersionPropsToCloudFormation(props)}}exports.CfnBotVersion=CfnBotVersion;function CfnBotVersionBotVersionLocaleDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceBotVersion",cdk().requiredValidator)(properties.sourceBotVersion)),errors.collect(cdk().propertyValidator("sourceBotVersion",cdk().validateString)(properties.sourceBotVersion)),errors.wrap('supplied properties not correct for "BotVersionLocaleDetailsProperty"')}function convertCfnBotVersionBotVersionLocaleDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotVersionBotVersionLocaleDetailsPropertyValidator(properties).assertSuccess(),{SourceBotVersion:cdk().stringToCloudFormation(properties.sourceBotVersion)}):properties}function CfnBotVersionBotVersionLocaleDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceBotVersion","SourceBotVersion",properties.SourceBotVersion!=null?cfn_parse().FromCloudFormation.getString(properties.SourceBotVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotVersionBotVersionLocaleSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botVersionLocaleDetails",cdk().requiredValidator)(properties.botVersionLocaleDetails)),errors.collect(cdk().propertyValidator("botVersionLocaleDetails",CfnBotVersionBotVersionLocaleDetailsPropertyValidator)(properties.botVersionLocaleDetails)),errors.collect(cdk().propertyValidator("localeId",cdk().requiredValidator)(properties.localeId)),errors.collect(cdk().propertyValidator("localeId",cdk().validateString)(properties.localeId)),errors.wrap('supplied properties not correct for "BotVersionLocaleSpecificationProperty"')}function convertCfnBotVersionBotVersionLocaleSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotVersionBotVersionLocaleSpecificationPropertyValidator(properties).assertSuccess(),{BotVersionLocaleDetails:convertCfnBotVersionBotVersionLocaleDetailsPropertyToCloudFormation(properties.botVersionLocaleDetails),LocaleId:cdk().stringToCloudFormation(properties.localeId)}):properties}function CfnBotVersionBotVersionLocaleSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botVersionLocaleDetails","BotVersionLocaleDetails",properties.BotVersionLocaleDetails!=null?CfnBotVersionBotVersionLocaleDetailsPropertyFromCloudFormation(properties.BotVersionLocaleDetails):void 0),ret.addPropertyResult("localeId","LocaleId",properties.LocaleId!=null?cfn_parse().FromCloudFormation.getString(properties.LocaleId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBotVersionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("botId",cdk().requiredValidator)(properties.botId)),errors.collect(cdk().propertyValidator("botId",cdk().validateString)(properties.botId)),errors.collect(cdk().propertyValidator("botVersionLocaleSpecification",cdk().requiredValidator)(properties.botVersionLocaleSpecification)),errors.collect(cdk().propertyValidator("botVersionLocaleSpecification",cdk().listValidator(CfnBotVersionBotVersionLocaleSpecificationPropertyValidator))(properties.botVersionLocaleSpecification)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.wrap('supplied properties not correct for "CfnBotVersionProps"')}function convertCfnBotVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBotVersionPropsValidator(properties).assertSuccess(),{BotId:cdk().stringToCloudFormation(properties.botId),BotVersionLocaleSpecification:cdk().listMapper(convertCfnBotVersionBotVersionLocaleSpecificationPropertyToCloudFormation)(properties.botVersionLocaleSpecification),Description:cdk().stringToCloudFormation(properties.description)}):properties}function CfnBotVersionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("botId","BotId",properties.BotId!=null?cfn_parse().FromCloudFormation.getString(properties.BotId):void 0),ret.addPropertyResult("botVersionLocaleSpecification","BotVersionLocaleSpecification",properties.BotVersionLocaleSpecification!=null?cfn_parse().FromCloudFormation.getArray(CfnBotVersionBotVersionLocaleSpecificationPropertyFromCloudFormation)(properties.BotVersionLocaleSpecification):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourcePolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_lex.CfnResourcePolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Lex::ResourcePolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourcePolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResourcePolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnResourcePolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME}_policy;_resourceArn;cfnPropertyNames={policy:"Policy",resourceArn:"ResourceArn"};constructor(scope,id,props){super(scope,id,{type:CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_lex_CfnResourcePolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourcePolicy),error}cdk().requireProperty(props,"policy",this),cdk().requireProperty(props,"resourceArn",this),this._policy=props.policy,this._resourceArn=props.resourceArn}get resourcePolicyRef(){return{resourcePolicyId:this.ref}}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get resourceArn(){return this._resourceArn}set resourceArn(value){cdk().traceProperty(this.node,"ResourceArn"),this._resourceArn=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrRevisionId(){return cdk().Token.asString(this.getAtt("RevisionId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{policy:this._policy,resourceArn:this._resourceArn}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResourcePolicyPropsToCloudFormation(props)}}exports.CfnResourcePolicy=CfnResourcePolicy;function CfnResourcePolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("policy",cdk().requiredValidator)(properties.policy)),errors.collect(cdk().propertyValidator("policy",cdk().validateObject)(properties.policy)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.wrap('supplied properties not correct for "CfnResourcePolicyProps"')}function convertCfnResourcePolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResourcePolicyPropsValidator(properties).assertSuccess(),{Policy:cdk().objectToCloudFormation(properties.policy),ResourceArn:cdk().stringToCloudFormation(properties.resourceArn)}):properties}function CfnResourcePolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getAny(properties.Policy):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}