ó
    pyüiú  ã                  ó:  • S r SSKJr  SSKJrJr  SSKJrJrJ	r	J
r
Jr  SSKJr  SSKJrJr  SSKJr  SS	KJrJr  SS
KJrJr  \(       a.  SSKJr  SSKJr  \" S\\4S9 " S S\R<                  5      5       rO\R<                  rSr \" S5      r! " S S\\	\!   \S9r"g)z%RootModel class and type definitions.é    )Úannotations)ÚcopyÚdeepcopy)ÚTYPE_CHECKINGÚAnyÚGenericÚLiteralÚTypeVar)ÚPydanticUndefined)ÚSelfÚdataclass_transformé   )ÚPydanticUserError)Ú_model_constructionÚ_repr)Ú	BaseModelÚ_object_setattr)ÚField)ÚPrivateAttrF)Úkw_only_defaultÚfield_specifiersc                  ó   • \ rS rSrSrg)Ú_RootModelMetaclassé   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic/root_model.pyr   r      s   † ÚCFr!   r   )Ú	RootModelÚRootModelRootTypec                  ó.  ^ • \ rS rSr% SrSrSrSrS\S'   U 4S jr	\
4SS jjrS\l        \SSU 4S	 jjj5       rSS
 jrSS jrSS jrSSS jjr\(       a-  SSSSSSSSSSSSS.                         SS jjrSU 4S jjrSS jrSrU =r$ )r#   é    a›  !!! abstract "Usage Documentation"
    [`RootModel` and Custom Root Types](../concepts/models.md#rootmodel-and-custom-root-types)

A Pydantic `BaseModel` for the root object of the model.

Attributes:
    root: The root object of the model.
    __pydantic_root_model__: Whether the model is a RootModel.
    __pydantic_private__: Private fields in the model.
    __pydantic_extra__: Extra fields in the model.

TNr$   Úrootc                óv   >• U R                   R                  S5      nUb
  [        SSS9e[        TU ]  " S0 UD6  g )NÚextraz<`RootModel` does not support setting `model_config['extra']`zroot-model-extra)Úcoder   )Úmodel_configÚgetr   ÚsuperÚ__init_subclass__)ÚclsÚkwargsr)   Ú	__class__s      €r"   r.   ÚRootModel.__init_subclass__4   sD   ø€ Ø× Ñ ×$Ñ$ WÓ-ˆØÑÜ#ØNÐUgñð ô 	‰Ò!Ñ+ FÓ+r!   c               ót   • SnU(       a  U[         La  [        S5      eUnU R                  R                  XS9  g )NTz_"RootModel.__init__" accepts either a single positional argument or arbitrary keyword arguments)Úself_instance)r   Ú
ValueErrorÚ__pydantic_validator__Úvalidate_python)Úselfr'   ÚdataÚ__tracebackhide__s       r"   Ú__init__ÚRootModel.__init__<   sB   € Ø ÐÞØÔ,Ò,Ü Øuóð ð ˆDØ×#Ñ#×3Ñ3°DÐ3ÒMr!   c                ó   >• [         TU ]  XS9$ )a  Create a new model using the provided root object and update fields set.

Args:
    root: The root object of the model.
    _fields_set: The set of fields to be updated.

Returns:
    The new model.

Raises:
    NotImplemented: If the model is not a subclass of `RootModel`.
)r'   Ú_fields_set)r-   Úmodel_construct)r/   r'   r>   r1   s      €r"   r?   ÚRootModel.model_constructH   s   ø€ ô ‰wÑ&¨DÐ&ÐJÐJr!   c                ó4   • U R                   U R                  S.$ )N©Ú__dict__Ú__pydantic_fields_set__rB   ©r8   s    r"   Ú__getstate__ÚRootModel.__getstate__X   s   € àŸ™Ø'+×'CÑ'Cñ
ð 	
r!   c                óD   • [        U SUS   5        [        U SUS   5        g )NrD   rC   )r   )r8   Ústates     r"   Ú__setstate__ÚRootModel.__setstate__^   s&   € Ü˜Ð7¸Ð?XÑ9YÔZÜ˜˜j¨%°
Ñ*;Õ<r!   c                óø   • [        U 5      nUR                  U5      n[        U R                  5      n[        U R                  S   5      US'   [	        USU5        [	        US[        U R
                  5      5        U$ )z$Returns a shallow copy of the model.r'   rC   rD   )ÚtypeÚ__new__r   rC   r   rD   )r8   r/   ÚmÚnew_dicts       r"   Ú__copy__ÚRootModel.__copy__b   sh   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜Ÿ™Ó&ˆÜ §¡¨fÑ 5Ó6ˆ�ÑÜ˜˜: xÔ0Ü˜Ð4´d¸4×;WÑ;WÓ6XÔYØˆr!   c           	     ó¼   • [        U 5      nUR                  U5      n[        US[        U R                  US95        [        US[        U R                  5      5        U$ )z!Returns a deep copy of the model.rC   )ÚmemorD   )rM   rN   r   r   rC   r   rD   )r8   rT   r/   rO   s       r"   Ú__deepcopy__ÚRootModel.__deepcopy__l   sO   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜˜:¤x°·±ÀDÑ'IÔJô 	˜Ð4´d¸4×;WÑ;WÓ6XÔYØˆr!   ÚpythonF)ÚmodeÚincludeÚexcludeÚcontextÚby_aliasÚexclude_unsetÚexclude_defaultsÚexclude_noneÚexclude_computed_fieldsÚ
round_tripÚwarningsÚserialize_as_anyc               ó   • g)a§  This method is included just to get a more accurate return type for type checkers.
It is included in this `if TYPE_CHECKING:` block since no override is actually necessary.

See the documentation of `BaseModel.model_dump` for more details about the arguments.

Generally, this method will have a return type of `RootModelRootType`, assuming that `RootModelRootType` is
not a `BaseModel` subclass. If `RootModelRootType` is a `BaseModel` subclass, then the return
type will likely be `dict[str, Any]`, as `model_dump` calls are recursive. The return type could
even be something different, in the case of a custom serializer.
Thus, `Any` is used here to catch all of these cases.
Nr   )r8   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   s                r"   Ú
model_dumpÚRootModel.model_dumpx   s   € ð6 r!   c                óÌ   >• [        U[        5      (       d  [        $ U R                  S   R                  UR                  S   R                  :H  =(       a    [
        TU ]  U5      $ ©Nr'   )Ú
isinstancer#   ÚNotImplementedÚ__pydantic_fields__Ú
annotationr-   Ú__eq__)r8   Úotherr1   s     €r"   rm   ÚRootModel.__eq__•   sZ   ø€ Ü˜%¤×+Ñ+Ü!Ð!Ø×'Ñ'¨Ñ/×:Ñ:¸e×>WÑ>WØñ?
ç
‰*ñ÷ /ä™™¨Ó.ð	/r!   c              #  ó,   #   • SU R                   4v •  g 7frh   )r'   rE   s    r"   Ú__repr_args__ÚRootModel.__repr_args__œ   s   é € Ø�d—i‘iÐÓùs   ‚r   )r'   r$   ÚreturnÚNone)N)r'   r$   r>   zset[str] | Noners   r   )rs   údict[Any, Any])rI   ru   rs   rt   )rs   r   )rT   zdict[int, Any] | Noners   r   )rX   zLiteral['json', 'python'] | strrY   r   rZ   r   r[   zdict[str, Any] | Noner\   zbool | Noner]   Úboolr^   rv   r_   rv   r`   rv   ra   rv   rb   z'bool | Literal['none', 'warn', 'error']rc   rv   rs   r   )rn   r   rs   rv   )rs   z_repr.ReprArgs)r   r   r   r   Ú__doc__Ú__pydantic_root_model__Ú__pydantic_private__Ú__pydantic_extra__Ú__annotations__r.   r   r;   Ú__pydantic_base_init__Úclassmethodr?   rF   rJ   rQ   rU   r   re   rm   rq   r    Ú__classcell__)r1   s   @r"   r#   r#       s,  ø‡ ñð #ÐØÐØÐà
Óõ,ð 5Fö Nð '+€HÔ#à÷Kð Kó ðKô
ô=ôöö ð
 5=ØØØ-1Ø$(Ø"'Ø%*Ø!&Ø,1Ø$Ø@DØ%*ñ	ð 2ð	ð ð		ð
 ð	ð +ð	ð "ð	ð  ð	ð #ð	ð ð	ð &*ð	ð ð	ð >ð	ð #ð	ð õ	÷:/÷ ò  r!   r#   )Ú	metaclassN)#rw   Ú
__future__r   Ú_annotationsr   r   Útypingr   r   r   r	   r
   Úpydantic_corer   Útyping_extensionsr   r   Ú r   Ú	_internalr   r   Úmainr   r   Úfieldsr   ÚPydanticModelFieldr   ÚPydanticModelPrivateAttrÚModelMetaclassr   Ú__all__r$   r#   r   r!   r"   Ú<module>r�      s�   ðÙ +å 2ç ß @Õ @å +ß 7å ß 1ß ,æÝ3Ý?ñ
 ¨ÐBTÐVnÐAoÑpÜFÐ1×@Ñ@ÓFó qÙFà-×<Ñ<Ðà
€áÐ/Ó0Ð ô} �	˜7Ð#4Ñ5ÐATó } r!   