o
    Ú­jg
  ã                   @  s¸   d dl mZ d dl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s*eZdZG d	d
„ d
eƒZe	ded�G dd„ ded�ƒZG dd„ deƒZe	ded�G dd„ ded�ƒZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚLiteral)Ú
deprecatedé   )Ú_config)ÚPydanticDeprecatedSince20)Ú
BaseConfigÚExtrac                   @  s   e Zd Zddd„ZdS )	Ú_ConfigMetaclassÚitemÚstrÚreturnr   c              
   C  sP   zt j| }t t jt¡ |W S  ty' } ztd| j› d|› �ƒ|‚d }~ww )Nztype object 'z' has no attribute )	r   Úconfig_defaultsÚwarningsÚwarnÚDEPRECATION_MESSAGEÚDeprecationWarningÚKeyErrorÚAttributeErrorÚ__name__©Úselfr   ÚobjÚexc© r   úW/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pydantic/deprecated/config.pyÚ__getattr__   s   
€ÿz_ConfigMetaclass.__getattr__N©r   r   r   r   )r   Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   z@BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.)Úcategoryc                      s0   e Zd ZdZd‡ fdd„Zd‡ fd
d„Z‡  ZS )r
   z»This class is only retained for backwards compatibility.

    !!! Warning "Deprecated"
        BaseConfig is deprecated. Use the [`pydantic.ConfigDict`][pydantic.ConfigDict] instead.
    r   r   r   r   c                   st   zt ƒ  |¡}t tjt¡ |W S  ty9 } zztt	| ƒ|ƒW W  Y d }~S  ty4   tt
|ƒƒ|‚w d }~ww )N)ÚsuperÚ__getattribute__r   r   r   r   r   r   ÚgetattrÚtyper   r   ©Ú	__class__r   r   r   %   s   þ€ýzBaseConfig.__getattr__ÚkwargsÚNonec                   s    t  tjt¡ tƒ jdi |¤ŽS )Nr   )r   r   r   r   r   r#   Ú__init_subclass__)Úclsr)   r'   r   r   r+   1   s   zBaseConfig.__init_subclass__r   )r)   r   r   r*   )r   r    r!   Ú__doc__r   r+   Ú__classcell__r   r   r'   r   r
      s    r
   )Ú	metaclassc                      s   e Zd Zd‡ fdd„Z‡  ZS )Ú
_ExtraMetaÚ_ExtraMeta__namer   r   r   c                   s$   |dv rt jdtdd� tƒ  |¡S )N>   ÚallowÚforbidÚignorezX`pydantic.config.Extra` is deprecated, use literal values instead (e.g. `extra='allow'`)r   )Ú
stacklevel)r   r   r   r#   r$   )r   r1   r'   r   r   r$   7   s   ýz_ExtraMeta.__getattribute__)r1   r   r   r   )r   r    r!   r$   r.   r   r   r'   r   r0   6   s    r0   zFExtra is deprecated. Use literal values instead (e.g. `extra='allow'`)c                   @  s2   e Zd ZU dZded< dZded< dZded< dS )r   r2   zLiteral['allow']r4   zLiteral['ignore']r3   zLiteral['forbid']N)r   r    r!   r2   Ú__annotations__r4   r3   r   r   r   r   r   B   s   
 r   )Ú
__future__r   Ú_annotationsr   Útypingr   r   r   Útyping_extensionsr   Ú	_internalr   r	   r   Ú__all__r&   r   r
   r0   r   r   r   r   r   Ú<module>   s"    

ÿ