U aT @s2ddlZddlmZd ddZddZddZdS) N) merge_dictscCsV||i}t||dt|dii}t||t|||dk rRt|||S)N __default__)getresolve_referencescopydeepcopyr_merge_client_retry_config)Zendpoint_prefixZ retry_model definitionsclient_retry_configZservice_configZfinal_retry_configr /Users/jalaguru/Documents/Proserv/artifacts/aws_dms_cdk_automation/aws-dms-cdk-automation/venv/lib/python3.8/site-packages/botocore/translate.pybuild_retry_configs     r cCs&|d}|dk r"|d|dd<dS)NZ max_attemptsr)r)Z retry_configr Zmax_retry_attempts_overrider r r r)s   rcCsd|D]V\}}t|trt|dkrTt|ddkrT|t|d||<qt||qdS)aJRecursively replace $ref keys. To cut down on duplication, common definitions can be declared (and passed in via the ``definitions`` attribute) and then references as {"$ref": "name"}, when this happens the reference dict is placed with the value from the ``definition`` dict. This is recursively done. rrz$refN)items isinstancedictlenlistkeysvaluesr)configr keyvaluer r r r;s   r)N)rZbotocore.utilsrr rrr r r r s