
    ]f(                       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rd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ed          Z( ede)          Z*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)allowignoreforbidc                     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] | Nonemodel_title_generatorz:Callable[[str, FieldInfo | ComputedFieldInfo], str] | Nonefield_title_generatorboolstr_to_lowerstr_to_upperstr_strip_whitespaceintstr_min_lengthz
int | Nonestr_max_lengthzExtraValues | Noneextrafrozenpopulate_by_nameuse_enum_valuesvalidate_assignmentarbitrary_types_allowedfrom_attributesloc_by_aliasz,Callable[[str], str] | AliasGenerator | Nonealias_generatorztuple[type, ...]ignored_typesallow_inf_nanz)JsonDict | JsonSchemaExtraCallable | Nonejson_schema_extraz&dict[type[object], JsonEncoder] | Nonejson_encodersstrictz0Literal['always', 'never', 'subclass-instances']revalidate_instanceszLiteral['iso8601', 'float']ser_json_timedeltazLiteral['utf8', 'base64']ser_json_bytesz'Literal['null', 'constants', 'strings']ser_json_inf_nanvalidate_defaultvalidate_returnztuple[str, ...]protected_namespaceshide_input_in_errorsdefer_buildz,tuple[Literal['model', 'type_adapter'], ...]experimental_defer_build_modezdict[str, object] | Noneplugin_settingsztype[_GenerateSchema] | Noneschema_generator+json_schema_serialization_defaults_requiredz,Literal['validation', 'serialization', None]json_schema_mode_overridecoerce_numbers_to_strz"Literal['rust-regex', 'python-re']regex_enginevalidation_error_causeuse_attribute_docstringsz%bool | Literal['all', 'keys', 'none']cache_stringsN)__name__
__module____qualname____doc____annotations__     A/var/www/html/env/lib/python3.11/site-packages/pydantic/config.pyr   r   !   s        99O7777_UUUUe\\I??DL LLL @ %N 1f "!!!4l   MAAAA8t $### j@@@@Y9999 LLL4 KJJJ|| 4333 .--- >=== TY))))IV )V " POOO .---
 3222 6555$L LKKK4l  #J 5444"H !    #"""#J 9888 rP   r   F)total_TypeT)boundconfigreturnCallable[[_TypeT], _TypeT]c                     d f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'}
        ```
    class_rS   rV   c               l    ddl m}  ||           rt          d| j         dd          | _        | S )Nr   )is_model_classzCannot use `with_config` on z as it is a Pydantic modelzwith-config-on-model)code)_internal._utilsr[   r   rJ   __pydantic_config__)rY   r[   rU   s     rQ   innerzwith_config.<locals>.inner  sb     	544444>&!! 	#ZvZZZ+    &,"rP   )rY   rS   rV   rS   rO   )rU   r_   s   ` rQ   r   r     s(    4      LrP   )rU   r   rV   rW   ).rM   
__future__r   _annotationstypingr   r   r   r   r   r	   r
   r   typing_extensionsr   r   r   
_migrationr   aliasesr   errorsr   _internal._generate_schemar   _GenerateSchemafieldsr   r   __all__r&   floatstrr"   r   rN   r   JsonEncoderr   ExtraValuesr   typerS   r   rJ   __getattr__rO   rP   rQ   <module>rq      s   ( ( ( 2 2 2 2 2 2 Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ; ; ; ; ; ; ; ; ; ; ) ) ) ) ) ) # # # # # # % % % % % % 5MMMMMM44444444
' S%dD${:KZWX	 X X X X3	>* * * * *ucz"%*hZhS	"D()+&     
 12K K K K K% K K K K\ 
	&	&	&( ( ( (V  ))rP   