a
    Of(                     @  sL  U d Z ddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ erdd	lmZ dd
lmZmZ dZeeee e!de	d df Z"de#d< ee e"f Z$de#d< eegef Z%eee$gdf ee$e
e gdf f Z&de#d< ed Z'G dd deddZ(ede)dZ*dddddZ+ee,Z-dS )z"Configuration for Pydantic models.    )annotations)TYPE_CHECKINGAnyCallableDictListTypeTypeVarUnion)Literal	TypeAlias	TypedDict   )getattr_migration)AliasGenerator)PydanticUserError)GenerateSchema)ComputedFieldInfo	FieldInfo)
ConfigDictwith_configN	JsonValueJsonDictr   JsonSchemaExtraCallable)ZallowignoreZforbidc                   @  sZ  e Zd ZU dZded< ded< ded< ded	< ded
< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< ded< d ed!< ded"< d#ed$< d%ed&< d'ed(< d)ed*< ded+< ded,< d-ed.< ded/< ded0< d1ed2< d3ed4< d5ed6< ded7< d8ed9< ded:< d;ed<< ded=< ded>< d?ed@< dAS )Br   z/A TypedDict for configuring Pydantic behaviour.z
str | NonetitlezCallable[[type], str] | NoneZmodel_title_generatorz:Callable[[str, FieldInfo | ComputedFieldInfo], str] | NoneZfield_title_generatorboolZstr_to_lowerZstr_to_upperZstr_strip_whitespaceintZstr_min_lengthz
int | NoneZstr_max_lengthzExtraValues | NoneextrafrozenZpopulate_by_nameZuse_enum_valuesZvalidate_assignmentZarbitrary_types_allowedZfrom_attributesZloc_by_aliasz,Callable[[str], str] | AliasGenerator | NoneZalias_generatorztuple[type, ...]Zignored_typesZallow_inf_nanz)JsonDict | JsonSchemaExtraCallable | NoneZjson_schema_extraz&dict[type[object], JsonEncoder] | NoneZjson_encodersstrictz0Literal['always', 'never', 'subclass-instances']Zrevalidate_instanceszLiteral['iso8601', 'float']Zser_json_timedeltazLiteral['utf8', 'base64']Zser_json_bytesz'Literal['null', 'constants', 'strings']Zser_json_inf_nanZvalidate_defaultZvalidate_returnztuple[str, ...]Zprotected_namespacesZhide_input_in_errorsZdefer_buildz,tuple[Literal['model', 'type_adapter'], ...]Zexperimental_defer_build_modezdict[str, object] | NoneZplugin_settingsztype[_GenerateSchema] | NoneZschema_generatorZ+json_schema_serialization_defaults_requiredz,Literal['validation', 'serialization', None]Zjson_schema_mode_overrideZcoerce_numbers_to_strz"Literal['rust-regex', 'python-re']Zregex_engineZvalidation_error_causeZuse_attribute_docstringsz%bool | Literal['all', 'keys', 'none']Zcache_stringsN)__name__
__module____qualname____doc____annotations__ r&   r&   H/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pydantic/config.pyr   !   sV   
G
!(47;		
L,
'7&%&r   F)total_TypeT)boundzCallable[[_TypeT], _TypeT])configreturnc                   s   ddd fdd}|S )a$  Usage docs: https://docs.pydantic.dev/2.8/concepts/config/#configuration-with-dataclass-from-the-standard-library-or-typeddict

    A convenience decorator to set a [Pydantic configuration](config.md) on a `TypedDict` or a `dataclass` from the standard library.

    Although the configuration can be set using the `__pydantic_config__` attribute, it does not play well with type checkers,
    especially with `TypedDict`.

    !!! example "Usage"

        ```py
        from typing_extensions import TypedDict

        from pydantic import ConfigDict, TypeAdapter, with_config

        @with_config(ConfigDict(str_to_lower=True))
        class Model(TypedDict):
            x: str

        ta = TypeAdapter(Model)

        print(ta.validate_python({'x': 'ABC'}))
        #> {'x': 'abc'}
        ```
    r)   )class_r,   c                  s4   ddl m} || r*td| j ddd | _| S )Nr   )is_model_classzCannot use `with_config` on z as it is a Pydantic modelzwith-config-on-model)code)Z_internal._utilsr.   r   r!   Z__pydantic_config__)r-   r.   r+   r&   r'   inner  s    zwith_config.<locals>.innerr&   )r+   r1   r&   r0   r'   r     s    r   ).r$   
__future__r   Z_annotationstypingr   r   r   r   r   r   r	   r
   typing_extensionsr   r   r   Z
_migrationr   aliasesr   errorsr   Z_internal._generate_schemar   Z_GenerateSchemafieldsr   r   __all__r   floatstrr   r   r%   r   ZJsonEncoderr   ZExtraValuesr   typer)   r   r!   __getattr__r&   r&   r&   r'   <module>   s<   ("       U+