+
    QV-jTe  ã                   ó>  a € R: tE0 t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RIHtHt ^ RIHtHtHtHtHtHtHtHtHtHt  ^ RIHtHt ^R	IH t H!t!H"t" ]].R3,          t#]! R
4      t$]! R]%]&]3,          R7      t'](! 4       t)]R R l4       t*]RR/R R ll4       t*R<RR/R R lllt*R R lt+]R R l4       t,R R lt-]]RRRRR3R R llt.R R lt/R  R! lt0R" R# lt1R$ R% lt2R& R' lt3R( R) lt4R* R+ lt5R, R- lt6R. R/ lt7R0 R1 lt8R2 R3 lt9R4 R5 lt:R6 R7 lt;R8 R9 lt<]]2]]3]=]4]%]5]>]6]?]7]P€                  P‚                  ]8/tB] ^ k ]2]B]P†                  &   . R=OtDR#   ] d1     ^ RIHtHt  EL(  ] d    ]! RR;/ 4      t]! RR;/ 4      t  ELGi ; ii ; i)>é    N)ÚCallable)ÚMISSINGÚFieldÚfieldÚfieldsÚmake_dataclass)Ú	lru_cacheÚwraps)
Ú	AnnotatedÚAnyÚ
ForwardRefÚLiteralÚTypeÚTypeVarÚUnionÚget_argsÚ
get_originÚoverload)ÚNotRequiredÚRequiredr   r   )Ú#StrictDataclassClassValidationErrorÚStrictDataclassDefinitionErrorÚ#StrictDataclassFieldValidationErrorÚTÚTypedDictType)Úboundc                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# ©é   ÚclsÚreturn©r   r   )Úformats   "Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/huggingface_hub/dataclasses.pyÚ__annotate__r%   1   s   € × (Ñ (””Q•Ð (œD¤�GÑ (ó    c                 ó   € R # ©N© )r    s   &r$   Ústrictr*   0   s   € Ù%(r&   Úaccept_kwargsFc                ó€   € V ^8„  d   QhR\         R\        \        \        ,          .\        \        ,          3,          /# )r   r+   r!   )Úboolr   r   r   )r#   s   "r$   r%   r%   5   s&   € × OÑ OœTÐ O¬h¼¼Q½°yÄ$ÄqÅ'Ð7IÕ.JÑ Or&   c                 ó   € R # r(   r)   )r+   s   $r$   r*   r*   4   s   € ÙLOr&   c          
      óÜ   € V ^8„  d   QhR\         \        ,          R,          R\        R\         \        ,          \        \         \        ,          .\         \        ,          3,          ,          /# )r   r    Nr+   r!   )r   r   r-   r   )r#   s   "r$   r%   r%   8   sS   € ÷ c2ñ c2””Q•˜$•ð c2¼ð c2Ì$ÌqÍ'ÔT\Ô^bÔcdÕ^eÐ]fÔhlÔmnÕhoÐ]oÕTpÕJpñ c2r&   c               ó2   a€ R V3R llpV e	   V! V 4      # T# )a  
Decorator to add strict validation to a dataclass.

This decorator must be used on top of `@dataclass` to ensure IDEs and static typing tools
recognize the class as a dataclass.

Can be used with or without arguments:
- `@strict`
- `@strict(accept_kwargs=True)`

Args:
    cls:
        The class to convert to a strict dataclass.
    accept_kwargs (`bool`, *optional*):
        If True, allows arbitrary keyword arguments in `__init__`. Defaults to False.

Returns:
    The enhanced dataclass with strict validation on field assignment.

Example:
```py
>>> from dataclasses import dataclass
>>> from huggingface_hub.dataclasses import as_validated_field, strict, validated_field

>>> @as_validated_field
>>> def positive_int(value: int):
...     if not value >= 0:
...         raise ValueError(f"Value must be positive, got {value}")

>>> @strict(accept_kwargs=True)
... @dataclass
... class User:
...     name: str
...     age: int = positive_int(default=10)

# Initialize
>>> User(name="John")
User(name='John', age=10)

# Extra kwargs are accepted
>>> User(name="John", age=30, lastname="Doe")
User(name='John', age=30, *lastname='Doe')

# Invalid type => raises
>>> User(name="John", age="30")
huggingface_hub.errors.StrictDataclassFieldValidationError: Validation error for field 'age':
    TypeError: Field 'age' expected int, got str (value: '30')

# Invalid value => raises
>>> User(name="John", age=-1)
huggingface_hub.errors.StrictDataclassFieldValidationError: Validation error for field 'age':
    ValueError: Value must be positive, got -1
```
c                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# r   r"   )r#   s   "r$   r%   Ústrict.<locals>.__annotate__p   s&   € ÷ hñ h”$”q•'ð hœd¤1�gñ hr&   c           	      óÎ  <a aaa€ \        S R 4      '       g   \        RS P                   R24      h/ p\        S 4       F¬  p. pVP	                  \        V4      4       VP                  P                  R4      pVea   \        V\        4      '       g   V.pV F0  p\        V4      '       d   K  \        RVP                   RV R24      h	  VP                  V4       W1VP                  &   K®  	  VS n        S P                  oR V3R llpVS n        S'       d�   S P                  p\!        V4      R	 V 3R
 ll4       pVS n        \        S R4      '       g   R R lp	V	S n        S P$                  o\!        S4      R V V3R ll4       p
S P&                  P(                  RJ d   V
S n        . p\+        S 4       F–  pVP-                  R4      '       g   K  \/        S V4      p\1        V4      '       g   K;  \3        \4        P6                  ! V4      P8                  4      ^8w  d   \        RS P                   RV R24      hVP	                  V4       K˜  	  VS n        R V 3R llpRVn        \        S R4      '       d7   \/        S P>                  RR4      '       g   \        RS P                   R24      hVS n        S P                  o\!        S4      R V V3R ll4       p\A        S RV4       S # )Ú__dataclass_fields__zClass 'z.' must be a dataclass before applying @strict.Ú	validatorzInvalid validator for field 'ú': z.. Must be a callable taking a single argument.c                ó@   € V ^8„  d   QhR\         R\        R\         RR/# )r   ÚselfÚnameÚvaluer!   N)r   Ústr)r#   s   "r$   r%   Ú*strict.<locals>.wrap.<locals>.__annotate__‹   s(   € ÷ 
	0ñ 
	0¤Sð 
	0´ð 
	0¼Cð 
	0ÀDñ 
	0r&   c                ó¾   <€ V P                   P                  V. 4       F  p V! V4       K  	  S! WV4       R#   \        \        3 d   p\	        YR7      ThRp?ii ; i)z1Custom __setattr__ method for strict dataclasses.)r   ÚcauseN)Ú__validators__ÚgetÚ
ValueErrorÚ	TypeErrorr   )r8   r9   r:   r5   ÚeÚoriginal_setattrs   &&&  €r$   Ú__strict_setattr__Ú0strict.<locals>.wrap.<locals>.__strict_setattr__‹   sc   ø€ ð "×0Ñ0×4Ñ4°T¸2Ö>�	ðZÙ˜eÖ$ñ ?ñ ˜T¨Ö/øô	 #¤IÐ.ô ZÜ=ÀDÔRÐXYÐYûðZús   ¢9¹AÁ
AÁAc                ó(   € V ^8„  d   QhR\         RR/# ©r   Úkwargsr!   N©r   )r#   s   "r$   r%   r<   ž   s   € ÷  8ñ  8´ð  8¸ñ  8r&   c                 ó:  <€ \        S4       Uu0 uF  q3P                  kK  	  ppVP                  4        UUu/ uF  w  rVWT9   g   K  WVbK  	  ppp\        V4      ^ 8”  d&   \	        RSP
                   R\        V4       R24      h\        S4       FÃ  pVP                  V9   d)   \        WP                  WsP                  ,          4       K<  VP                  \        Jd#   \        WP                  VP                  4       Kr  VP                  \        Jd'   \        WP                  VP                  4       4       K¬  \        RVP                   R24      h	  / pVP                  4        F  w  ršW”9  g   K  W¨V	&   K  	  V P                  ! R/ VB  R# u upi u uppi )r   zWhen `accept_kwargs=True`, z, accepts only keyword arguments, but found `z` positional args.zMissing required field - 'Ú'Nr)   )r   r9   ÚitemsÚlenrA   Ú__name__ÚsetattrÚdefaultr   Údefault_factoryrB   Ú__post_init__)r8   ÚargsrI   ÚfÚdataclass_fieldsÚkÚvÚstandard_kwargsÚadditional_kwargsr9   r:   r    s   &*,        €r$   Ú__init__Ú&strict.<locals>.wrap.<locals>.__init__�   sT  ø€ ô 5;¸3´KÓ#@±K¨q§F¤F±KÐ Ð#@Ø4:·L±L´NÔ"\±N©D¨AÀaÑF[¤4 1¢4±N�Ñ"\ô �t“9˜q”=Ü$Ø5°c·l±l°^ð D&Ü&)¨$£i [Ð0BðDóð ô
   ž�AØ—v‘v Ô0Ü §f¡f¨o¿f¹fÕ.EÖFØŸ™¬'Ó1Ü §f¡f¨a¯i©iÖ8Ø×*Ñ*´'Ó9Ü §f¡f¨a×.?Ñ.?Ó.AÖBä'Ð*DÀQÇVÁVÀHÈAÐ(NÓOÐOñ %ð %'Ð!Ø#)§<¡<¦>‘K�DØÖ3Ø27¨$Ó/ñ $2ð ×"Ò"Ñ7Ð%6Ô7ùò= $AùÛ"\s   �F¸
FÁFrS   c                ó(   € V ^8„  d   QhR\         RR/# rH   rJ   )r#   s   "r$   r%   r<   Å   s   € ÷ 3ñ 3´#ð 3¸$ñ 3r&   c                óP   € VP                  4        F  w  r#\        WV4       K  	  R# )z2Default __post_init__ to accept additional kwargs.N)rM   rP   )r8   rI   r9   r:   s   &,  r$   rS   Ú+strict.<locals>.wrap.<locals>.__post_init__Å   s   € à'-§|¡|¦~™˜Ü ¨EÖ2ó (6r&   c                ó$   € V ^8„  d   QhR\         /# )r   r!   )r;   )r#   s   "r$   r%   r<   Ð   s   € ÷ kñ k¤#ñ kr&   c                 óú   <€ S! V 4      pV P                   P                  4        UUu. uF!  w  r#VSP                  9  g   K  R V RV: 2NK#  	  pppRP                  V4      pV'       d   VRR  RV R2# T# u uppi )Ú*Ú=z, NÚ)éÿÿÿÿ)Ú__dict__rM   r4   Újoin)r8   Ústandard_reprrW   rX   rZ   Úadditional_reprr    Úoriginal_reprs   &     €€r$   Ú__repr__Ú&strict.<locals>.wrap.<locals>.__repr__Ï   sœ   ø€ ñ !.¨dÓ 3�ð !%§¡× 3Ñ 3Ô 5ô%ñ !6™˜Ø × 8Ñ 8Ñ8ô "�a˜�s˜!˜A™5“MÙ 5ð "ñ %ð #'§)¡)Ð,=Ó">�÷ GX˜-¨¨Ð,Ð-¨R°Ð/@ÀÐBÐjÐ]jÐjùó%s   §A7ÁA7TÚ	validate_z' has a class validator 'z¤' that takes more than one argument. Class validators must take only 'self' as an argument. Methods starting with 'validate_' are considered to be class validators.c                ó(   € V ^8„  d   QhR\         RR/# )r   r8   r!   N)r   )r#   s   "r$   r%   r<   ÷   s   € ÷ 	lñ 	lœ1ð 	l ñ 	lr&   c                ó¢   <€ SP                    F  p V! V 4       K  	  R#   \        \        3 d   p\        TP                  TR7      ThRp?ii ; i)z%Run class validators on the instance.)r5   r>   N)Ú__class_validators__rA   rB   r   rO   )r8   r5   rC   r    s   &  €r$   ÚvalidateÚ&strict.<locals>.wrap.<locals>.validate÷   sP   ø€ à ×5Ô5�	ðlÙ˜d–Oó 6øô #¤IÐ.ô lÜ=È	×HZÑHZÐbcÔdÐjkÐkûðlús   ’  A±A	Á	Arq   Ú"__is_defined_by_strict_decorator__Fzµ' already implements a method called 'validate'. This method name is reserved when using the @strict decorator on a dataclass. If you want to keep your own method, please rename it.c                ó   € V ^8„  d   QhRR/# )r   r!   Nr)   )r#   s   "r$   r%   r<     s   € ÷ 	ñ 	¸ñ 	r&   c                óB   <€ S! V .VO5/ VB  SP                  V 4       R# )z*Run class validators after initialization.N)rq   )r8   rT   rI   r    Úinitial_inits   &*,€€r$   Úinit_with_validateÚ0strict.<locals>.wrap.<locals>.init_with_validate  s#   ø€ ñ ˜Ð/ Ò/¨Ò/Ø�L‰L˜Ör&   r[   )!Úhasattrr   rO   r   ÚappendÚ_create_type_validatorÚmetadatar@   Ú
isinstanceÚlistÚ_is_validatorr9   Úextendr?   Ú__setattr__r[   r
   rS   rk   Ú__dataclass_params__ÚreprÚdirÚ
startswithÚgetattrÚcallablerN   ÚinspectÚ	signatureÚ
parametersrp   rs   rq   rP   )r    Úfield_validatorsrU   Ú
validatorsÚcustom_validatorr5   rE   Úoriginal_initr[   rS   rk   Úclass_validatorsr9   Úmethodrq   rw   rv   rj   rD   r+   s   f               @@@€r$   ÚwrapÚstrict.<locals>.wrapp   så  ü€ Ü�sÐ2×3Ò3Ü0Ø˜#Ÿ,™,˜Ð'UÐVóð ð
 :<ÐÜ˜–ˆAØˆJØ×ÑÔ4°QÓ7Ô8Ø Ÿz™zŸ~™~¨kÓ:ÐØÒ+Ü!Ð"2´D×9Ò9Ø(8Ð'9Ð$Û!1�IÜ(¨×3Ô3Ü<Ø;¸A¿F¹F¸8À3ÀyÀkÐQð  Aóð ñ "2ð
 ×!Ñ!Ð"2Ô3Ø'1˜QŸV™VÓ$ñ ð .ˆÔð Ÿ?™?Ð÷
	0ð 
	0ð -ˆŒçàŸL™LˆMä�=Ó!÷ 8ó "ð 8ðD $ˆCŒLô ˜3 ×0Ò0õ3ð
 %2�Ô!ð  ŸL™LˆMä�=Ó!÷kð kó "ðkð  ×'Ñ'×,Ñ,°Ó4Ø'�”ð Ðä˜–HˆDØ—?‘? ;×/Ò/ÙÜ˜S $Ó'ˆFÜ˜F×#Ò#ÙÜ”7×$Ò$ VÓ,×7Ñ7Ó8¸AÔ=Ü4Ø˜cŸl™l˜^Ð+DÀTÀFð K>ð >óð ð
 ×#Ñ# FÖ+ñ ð $4ˆÔ ÷	lð 	lð 7;ˆÔ3ä�3˜
×#Ò#Ü˜3Ÿ<™<Ð)MÈu×UÒUÜ4Ø˜cŸl™l˜^ð ,Nð Nóð ð  ˆŒð —|‘|ˆä	ˆ|Ó	÷	ð 	ó 
ð	ô
 	��ZÐ!3Ô4àˆ
r&   r)   )r    r+   r‘   s   &d r$   r*   r*   8   s&   ø€ ÷phð hðV š‰4�‹9Ð1¨TÐ1r&   c                óJ   € V ^8„  d   QhR\         \        ,          R\        RR/# )r   ÚschemaÚdatar!   N)Útyper   Údict)r#   s   "r$   r%   r%     s&   € ÷ /ñ /¤¤]Õ 3ð /¼4ð /ÀDñ /r&   c                ó,   € \        V 4      pV! R/ VB  R# )an  
Validate that a dictionary conforms to the types defined in a TypedDict class.

Under the hood, the typed dict is converted to a strict dataclass and validated using the `@strict` decorator.

Args:
    schema (`type[TypedDictType]`):
        The TypedDict class defining the expected structure and types.
    data (`dict`):
        The dictionary to validate.

Raises:
    `StrictDataclassFieldValidationError`:
        If any field in the dictionary does not conform to the expected type.

Example:
```py
>>> from typing import Annotated, TypedDict
>>> from huggingface_hub.dataclasses import validate_typed_dict

>>> def positive_int(value: int):
...     if not value >= 0:
...         raise ValueError(f"Value must be positive, got {value}")

>>> class User(TypedDict):
...     name: str
...     age: Annotated[int, positive_int]

>>> # Valid data
>>> validate_typed_dict(User, {"name": "John", "age": 30})

>>> # Invalid type for age
>>> validate_typed_dict(User, {"name": "John", "age": "30"})
huggingface_hub.errors.StrictDataclassFieldValidationError: Validation error for field 'age':
    TypeError: Field 'age' expected int, got str (value: '30')

>>> # Invalid value for age
>>> validate_typed_dict(User, {"name": "John", "age": -1})
huggingface_hub.errors.StrictDataclassFieldValidationError: Validation error for field 'age':
    ValueError: Value must be positive, got -1
```
Nr)   )Ú!_build_strict_cls_from_typed_dict)r”   r•   Ú
strict_clss   && r$   Úvalidate_typed_dictr›     s   € ôX 3°6Ó:€Jñ Ñ�Ôr&   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# ©r   r”   r!   )r–   r   r   )r#   s   "r$   r%   r%   Q  s   € ÷ ;ñ ;¬d´=Õ.Að ;Ädñ ;r&   c                 óÚ  € \        V 4      p\        V R R4      '       g¦   VP                  4        F‘  w  r#\        V4      pV\        J dV   \        V4      vrV\        V4      '       g   \        V,          p\        \        V.\        V4      ,           4      ,          W&   Ko  \        V4      '       d   K‚  \        V,          W&   K“  	  . pVP                  4        Ft  w  r#\        V4      \        J d;   \        V4      vrVVP                  ! W%\        \        RV^ ,          /R7      34       KR  VP                  ! W#\        \        R7      34       Kv  	  \        \        V P                  V4      4      # )Ú	__total__Tr5   )rQ   r|   )rQ   )Ú_get_typed_dict_annotationsr†   rM   r   r   r   Ú_is_required_or_notrequiredr   Útupler~   rz   r   Ú_TYPED_DICT_DEFAULT_VALUEr*   r   rO   )r”   Ú
type_hintsÚkeyr:   ÚoriginÚbaseÚmetar   s   &       r$   r™   r™   P  s"  € ô -¨VÓ4€Jô �6˜;¨×-Ò-Ø$×*Ñ*Ö,‰JˆCÜ Ó&ˆFàœÓ"Ü& u›o��Ü2°4×8Ò8Ü& tÕ,�DÜ"+¬E°4°&¼4À»:Õ2EÓ,FÕ"G�
“Ü0°×7Ô7Ü"-¨eÕ"4�
“ñ -ð €FØ ×&Ñ&Ö(‰
ˆÜ�eÓ¤	Ó)Ü" 5›/ˆKˆDØ�MŠM˜3¤eÔ4MÐYdÐfjÐklÕfmÐXnÔ&oÐpÖqà�MŠM˜3¤uÔ5NÔ'OÐPÖQñ )ô ”. §¡°&Ó9Ó:Ð:r&   c                óh   € V ^8„  d   QhR\         \        ,          R\        \        \        3,          /# r�   )r–   r   r—   r;   r   )r#   s   "r$   r%   r%   o  s'   € ÷ 
ñ 
¬¬]Õ(;ð 
ÄÄSÌ#ÀXÅñ 
r&   c           	     óø   €  ^ RI pVP                  V 4      #   \         dX    T P                  P	                  R/ 4      P                  4        UUu/ uF  w  r#Y#e   TM
\        R4      bK  	  Mu uppi uppu # i ; i)z0Extract type annotations from a TypedDict class.NÚ__annotations__)ÚannotationlibÚget_annotationsÚImportErrorrf   r@   rM   r–   )r”   r¬   r9   r:   s   &   r$   r    r    o  sz   € ð
ãà×,Ñ,¨VÓ4Ð4øÜô 
ð
  &Ÿ™×2Ñ2Ð3DÀbÓI×OÑOÔQô	
ñ  R‘�ð Ò,‘%´$°t³*Ò<ÚQùö	
ò 	
ð
ús   ‚ —8A9ÁA,Á+A9Á8A9Tc                óØ   € V ^8„  d   QhR\         \        ,          \        ,          R\        R\        R\        R\        R\        R,          R\        R	\        R,          R
\        R\        /
# )r   r5   rQ   rR   Úinitrƒ   ÚhashNÚcomparer|   rI   r!   )r~   ÚValidator_Tr   r-   r—   )r#   s   "r$   r%   r%     s~   € ÷ (ñ (Ü”KÕ ¤;Õ.ð(äð(ô ð(ô ð	(ô
 ð(ô ��+ð(ô ð(ô �T�kð(ô ð(ô 	ñ(r&   c                óz   € \        V \        4      '       g   V .p Vf   / pWR&   \        R	RVRVRVRVRVRVRV/VB # )
a  
Create a dataclass field with a custom validator.

Useful to apply several checks to a field. If only applying one rule, check out the [`as_validated_field`] decorator.

Args:
    validator (`Callable` or `list[Callable]`):
        A method that takes a value as input and raises ValueError/TypeError if the value is invalid.
        Can be a list of validators to apply multiple checks.
    **kwargs:
        Additional arguments to pass to `dataclasses.field()`.

Returns:
    A field with the validator attached in metadata
r5   rQ   rR   r°   rƒ   r±   r²   r|   r)   )r}   r~   r   )	r5   rQ   rR   r°   rƒ   r±   r²   r|   rI   s	   &&&&&&&&,r$   Úvalidated_fieldrµ     s„   € ô4 �i¤×&Ò&Ø�Kˆ	ØÒØˆØ%ˆ[ÑÜñ 	Øð	à'ð	ð ð	ð ð		ð
 ð	ð ð	ð ð	ð ñ	ð 	r&   c                ó$   € V ^8„  d   QhR\         /# )r   r5   )r³   )r#   s   "r$   r%   r%   ª  s   € ÷ ñ ¤+ñ r&   c                ó<   a € \         \         RRRRR3R V 3R lllpV# )zô
Decorates a validator function as a [`validated_field`] (i.e. a dataclass field with a custom validator).

Args:
    validator (`Callable`):
        A method that takes a value as input and raises ValueError/TypeError if the value is invalid.
TNc                ó”   € V ^8„  d   QhR\         R\         R\        R\        R\        R,          R\        R\        R,          R	\         /# )
r   rQ   rR   r°   rƒ   r±   Nr²   r|   rI   )r   r-   r—   )r#   s   "r$   r%   Ú(as_validated_field.<locals>.__annotate__³  s`   € ÷ 
ñ 
Üð
äð
ô ð
ô ð	
ô
 �T�kð
ô ð
ô ˜•+ð
ô ñ
r&   c                 ó8   <€ \        S3R V RVRVRVRVRVRV/VB # )rQ   rR   r°   rƒ   r±   r²   r|   )rµ   )	rQ   rR   r°   rƒ   r±   r²   r|   rI   r5   s	   &&&&&&&,€r$   Ú_innerÚ"as_validated_field.<locals>._inner³  sc   ø€ ô Øñ

àð

ð ,ð

ð ð	

ð
 ð

ð ð

ð ð

ð ð

ð ñ

ð 
	
r&   )r   )r5   r»   s   f r$   Úas_validated_fieldr½   ª  s+   ø€ ô Ü&ØØØ ØØ $÷
ò 
ð, €Mr&   c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# ©r   r9   r:   Úexpected_typer!   N©r;   r   )r#   s   "r$   r%   r%   Ì  s.   € ÷ Qñ Qœð Q¤Sð Q¼ð QÀñ Qr&   c                óD  € \        V4      p\        V4      pV\        J d   R# Vf   \        W4       R# \        P                  V4      ;p'       d   V! WV4       R# \        V\        4      '       d   \        WV4       R# \        V\        4      '       g   \        V\        4      '       d   R# V\        J d/   V\        J d   \        RV  R24      h\        WV^ ,          4       R# V\        J d"   V\        J d   R# \        WV^ ,          4       R# \        RV  RV 24      h)z.Validate that 'value' matches 'expected_type'.NúField 'z' is required but missing.zUnsupported type for field 'r6   )r   r   r   Ú_validate_noneÚ_BASIC_TYPE_VALIDATORSr@   r}   r–   Ú_validate_simple_typer   r;   r   r£   rB   Útype_validatorr   )r9   r:   rÀ   r¦   rT   r5   s   &&&   r$   rÇ   rÇ   Ì  sñ   € ä˜Ó&€FÜ�MÓ"€DàœÓÙØ	Ò	Ü�tÖ#Ü,×0Ñ0°Ó8Ð	8ˆÖ	8Ù�$˜tÖ$Ü	�M¤4×	(Ò	(Ü˜d¨=Ö9Ü	�M¤:×	.Ò	.´*¸]ÌC×2PÒ2PÙØ	”8Ó	ØÔ-Ó-Ü˜g d VÐ+EÐFÓGÐGÜ�t D¨¥GÖ,Ø	”;Ó	ØÔ-Ó-ÙÜ�t D¨¥GÖ,äÐ6°t°f¸CÀ¸ÐOÓPÐPr&   c                ó4   € V ^8„  d   QhR\         R\        RR/# )r   r9   r:   r!   NrÁ   )r#   s   "r$   r%   r%   ç  s&   € ÷ Uñ Uœð U¤Sð U¨Tñ Ur&   c                óV   € Ve%   \        RV  R\        V4      P                   24      hR# )z¦Validate None type.

'None' is not a type, it's a special value. Type should be `NoneType` instead.
But in type annotations 'None' is accepted so we must support it.
NrÃ   z' expected None, got )rB   r–   rO   )r9   r:   s   &&r$   rÄ   rÄ   ç  s3   € ð ÒÜ˜' $ Ð'<¼TÀ%»[×=QÑ=QÐ<RÐSÓTÐTñ r&   c                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# ©r   r9   r:   rT   .r!   N©r;   r   r¢   )r#   s   "r$   r%   r%   ñ  s0   € ÷ ñ œ#ð ¤cð ´´s¸C°xµð ÀTñ r&   c                óø   € . pV F  p \        WV4        R# 	  \        RV  R\	        V4       RV RRP                  V4       24      h  \         d&   pTP                  \        T4      4        Rp?Ko  Rp?ii ; i)z8Validate that value matches one of the types in a Union.NrÃ   z' with value z doesn't match any type in z
. Errors: z; )rÇ   rB   rz   r;   rƒ   rg   )r9   r:   rT   ÚerrorsÚtrC   s   &&&   r$   Ú_validate_unionrÐ   ñ  s‡   € à€FÛˆð	"Ü˜4¨Ô*Úñ ô Ø
�$��}¤T¨%£[ MÐ1LÈTÈFÐR\Ð]a×]fÑ]fÐgmÓ]nÐ\oÐpóð øô ô 	"Ø�M‰Mœ#˜a›&×!Ò!ûð	"ús   ‰A	Á	A9ÁA4Á4A9c                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%      s6   € ÷ 	Oñ 	OœCð 	O¬ð 	O´5¼¸c¸µ?ð 	OÀtñ 	Or&   c                óæ  € \        V\        4      '       dE   Y Uu. uF  p\        V\        4      '       g   K  VNK  	  up9  d   \        RV  RV RV 24      hR# \        V\        4      '       d]   Y Uu. uF5  p\        V\        4      '       g   K  \        V\        4      '       d   K3  VNK7  	  up9  d   \        RV  RV RV 24      hR# W9  d   \        RV  RV RV 24      hR# u upi u upi )zValidate Literal type.rÃ   z' expected one of ú, got N)r}   r-   rB   Úint)r9   r:   rT   Úargs   &&& r$   Ú_validate_literalrÖ      sí   € ä�%œ×ÒØ¨ÓF© ´
¸3Ä×0EŸ˜©ÑFÔFÜ˜g d VÐ+=¸d¸VÀ6È%ÈÐQÓRÐRñ Gä	�Eœ3×	Ò	Ø¨Óc© ´
¸3Ä×0DœÌZÐX[Ô]a×MbŸ˜©ÑcÔcÜ˜g d VÐ+=¸d¸VÀ6È%ÈÐQÓRÐRñ dà	Ô	Ü˜' $ Ð'9¸$¸¸vÀeÀWÐMÓNÐNñ 
ùò Gùò ds   ›C)¸C)Á5C.ÂC.Â*C.c                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%     s6   € ÷ Rñ Rœð R¤Sð R´´c¸3°hµð RÀDñ Rr&   c           	     ó&  € \        V\        4      '       g%   \        RV  R\        V4      P                   24      hV^ ,          p\        V4       F  w  rE \        V  RV R2WS4       K  	  R#   \         d   p\        RT RT  R24      ThRp?ii ; i)	zValidate list[T] type.rÃ   z' expected a list, got Ú[Ú]úInvalid item at index z
 in list 'rL   N)r}   r~   rB   r–   rO   Ú	enumeraterÇ   ©r9   r:   rT   Ú	item_typeÚiÚitemrC   s   &&&    r$   Ú_validate_listrá     s�   € ä�eœT×"Ò"Ü˜' $ Ð'>¼tÀE»{×?SÑ?SÐ>TÐUÓVÐVð �Q•€IÜ˜UÖ#‰ˆð	RÜ˜d˜V 1 Q C q˜>¨4Ö;ó $øô ô 	RÜÐ4°Q°C°zÀ$ÀÀqÐIÓJÐPQÐQûð	Rús   ÁA-Á-BÁ8BÂBc                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%     s6   € ÷ Mñ Mœð M¤Sð M´´c¸3°hµð MÀDñ Mr&   c                ó@  € \        V\        4      '       g%   \        RV  R\        V4      P                   24      hVw  r4VP                  4        F(  w  rV \        V  R2WS4       \        V  RV: R2Wd4       K*  	  R#   \         d   p\        RT  R24      ThRp?ii ; i)	zValidate dict[K, V] type.rÃ   z' expected a dict, got z.keyrÙ   rÚ   zInvalid key or value in dict 'rL   N)r}   r—   rB   r–   rO   rM   rÇ   )r9   r:   rT   Úkey_typeÚ
value_typerW   rX   rC   s   &&&     r$   Ú_validate_dictræ     s§   € ä�eœT×"Ò"Ü˜' $ Ð'>¼tÀE»{×?SÑ?SÐ>TÐUÓVÐVð  Ñ€HØ—‘–‰ˆð	MÜ˜d˜V 4˜=¨!Ô6Ü˜d˜V 1 Q¡E¨Ð+¨QÖ;ó øô ô 	MÜÐ<¸T¸FÀ!ÐDÓEÈ1ÐLûð	Mús   Á"A=Á=BÂBÂBc                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%   )  s6   € ÷ Wñ Wœ#ð W¤cð W´´s¸C°xµð WÀTñ Wr&   c           
     ó˜  € \        V\        4      '       g%   \        RV  R\        V4      P                   24      h\        V4      ^8X  dB   V^,          \        J d1   \        V4       F  w  r4 \        V  RV R2WB^ ,          4       K!  	  R# \        V4      \        V4      8w  d'   \        RV  R	\        V4       R
\        V4       24      h\        \        W4      4       F  w  pw  rF \        V  RV R2WF4       K  	  R#   \         d   p\        RT RT  R24      ThRp?ii ; i  \         d   p\        RT RT  R24      ThRp?ii ; i)zValidate Tuple type.rÃ   z' expected a tuple, got rÙ   rÚ   rÛ   z in tuple 'rL   Nz' expected a tuple of length rÓ   )
r}   r¢   rB   r–   rO   rN   ÚEllipsisrÜ   rÇ   Úzip)r9   r:   rT   rß   rà   rC   Úexpecteds   &&&    r$   Ú_validate_tuplerì   )  sT  € ä�eœU×#Ò#Ü˜' $ Ð'?ÄÀUÃ×@TÑ@TÐ?UÐVÓWÐWô ˆ4ƒy�A„~˜$˜q�'¤XÓ-Ü  Ö'‰GˆAðWÜ $  q¨¨¨1˜~¨t¸!µWÖ=ó (ô 
ˆT‹”c˜%“jÔ	 Ü˜' $ Ð'DÄSÈÃYÀKÈvÔVYÐZ_ÓV`ÐUaÐbÓcÐcä#,¬S°Ó-=Ö#>ÑˆAÑ�ðWÜ $  q¨¨¨1˜~¨tÖ>ó $?øô ô WÜÐ"8¸¸¸;ÀtÀfÈAÐ NÓOÐUVÐVûðWûô ô WÜÐ"8¸¸¸;ÀtÀfÈAÐ NÓOÐUVÐVûðWús0   Á-D Ã(D&Ä D#ÄDÄD#Ä&E	Ä1EÅE	c                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%   @  s6   € ÷ Dñ Dœð D¤Cð D¬u´S¸#°X­ð DÀ4ñ Dr&   c                ó  € \        V\        4      '       g%   \        RV  R\        V4      P                   24      hV^ ,          p\        V4       F  w  rE \        V  R2WS4       K  	  R#   \         d   p\        RT  R24      ThRp?ii ; i)zValidate set[T] type.rÃ   z' expected a set, got z itemzInvalid item in set 'rL   N)r}   ÚsetrB   r–   rO   rÜ   rÇ   rÝ   s   &&&    r$   Ú_validate_setrð   @  s�   € ä�eœS×!Ò!Ü˜' $ Ð'=¼dÀ5»k×>RÑ>RÐ=SÐTÓUÐUð �Q•€IÜ˜UÖ#‰ˆð	DÜ˜d˜V 5˜>¨4Ö;ó $øô ô 	DÜÐ3°D°6¸Ð;Ó<À!ÐCûð	Dús   ÁA*Á*B
Á5BÂB
c                óZ   € V ^8„  d   QhR\         R\        R\        \        R3,          RR/# rË   rÌ   )r#   s   "r$   r%   r%   N  s6   € ÷ Vñ VœSð V¬ð V´E¼#¸s¸(µOð VÈñ Vr&   c           	     ób  € \        V\        P                  P                  4      '       g%   \	        RV  R\        V4      P                   24      hV'       g   R# V^ ,          p\        V4       F  w  rE \        V  RV R2WS4       K  	  R#   \         d   p\	        RT RT  R24      ThRp?ii ; i)	z&Validate Sequence or Sequence[T] type.rÃ   z' expected a Sequence, got NrÙ   rÚ   rÛ   z in sequence 'rL   )	r}   ÚcollectionsÚabcÚSequencerB   r–   rO   rÜ   rÇ   rÝ   s   &&&    r$   Ú_validate_sequencerö   N  s¯   € ä�eœ[Ÿ_™_×5Ñ5×6Ò6Ü˜' $ Ð'BÄ4ÈÃ;×CWÑCWÐBXÐYÓZÐZ÷ Ùð �Q•€IÜ˜UÖ#‰ˆð	VÜ˜d˜V 1 Q C q˜>¨4Ö;ó $øô ô 	VÜÐ4°Q°C°~ÀdÀVÈ1ÐMÓNÐTUÐUûð	Vús   Á3BÂB.ÂB)Â)B.c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# r¿   )r;   r   r–   )r#   s   "r$   r%   r%   `  s(   € ÷ 	
ñ 	
¤ð 	
¬Cð 	
Äð 	
Èñ 	
r&   c                ó`  € V\         J dU   \        V\        4      '       d?   \        RV  RVP                   R\        V4      P                   R\        V4       R2	4      h\        W4      '       g?   \        RV  RVP                   R\        V4      P                   R\        V4       R2	4      hR# )z&Validate simple type (int, str, etc.).rÃ   z' expected rÓ   z	 (value: rd   N)rÔ   r}   r-   rB   rO   r–   rƒ   )r9   r:   rÀ   s   &&&r$   rÆ   rÆ   `  s¶   € àœÓ¤
¨5´$× 7Ò 7ÜØ�d�V˜; }×'=Ñ'=Ð&>¸fÄTÈ%Ã[×EYÑEYÐDZÐZcÔdhÐinÓdoÐcpÐpqÐró
ð 	
ô �e×+Ò+ÜØ�d�V˜; }×'=Ñ'=Ð&>¸fÄTÈ%Ã[×EYÑEYÐDZÐZcÔdhÐinÓdoÐcpÐpqÐró
ð 	
ñ ,r&   c                ó0   € V ^8„  d   QhR\         R\        /# )r   r   r!   )r   r³   )r#   s   "r$   r%   r%   l  s   € ÷ ñ ¤%ð ¬Kñ r&   c                ó   a € R V 3R llpV# )z-Create a type validator function for a field.c                ó(   € V ^8„  d   QhR\         RR/# )r   r:   r!   NrJ   )r#   s   "r$   r%   Ú,_create_type_validator.<locals>.__annotate__p  s   € ÷ 6ñ 6œð 6 ñ 6r&   c                 óJ   <€ \        SP                  V SP                  4       R # r(   )rÇ   r9   r–   )r:   r   s   &€r$   r5   Ú)_create_type_validator.<locals>.validatorp  s   ø€ Ü�u—z‘z 5¨%¯*©*Ö5r&   r)   )r   r5   s   f r$   r{   r{   l  s   ø€ ÷6ð 6ð Ðr&   c                ó0   € V ^8„  d   QhR\         R\        /# )r   r5   r!   ©r   r-   )r#   s   "r$   r%   r%   v  s   € ÷ ñ œSð ¤Tñ r&   c                ó  € \        V 4      '       g   R# \        P                  ! V 4      p\        VP                  P                  4       4      p\        V4      ^ 8X  d   R# V^ ,          P                  \        P                  P                  \        P                  P                  \        P                  P                  39  d   R# VR,           F/  pVP                  \        P                  P                  8X  g   K.   R# 	  R# )zìCheck if a function is a validator.

A validator is a Callable that can be called with a single positional argument.
The validator can have more arguments with default values.

Basically, returns True if `validator(value)` is possible.
F:é   NNT)r‡   rˆ   r‰   r~   rŠ   ÚvaluesrN   ÚkindÚ	ParameterÚPOSITIONAL_OR_KEYWORDÚPOSITIONAL_ONLYÚVAR_POSITIONALrQ   Úempty)r5   r‰   rŠ   Ú	parameters   &   r$   r   r   v  sÅ   € ô �I×ÒÙä×!Ò! )Ó,€IÜ�i×*Ñ*×1Ñ1Ó3Ó4€JÜ
ˆ:ƒ˜!ÔÙØ�!…}×ÑÜ×Ñ×/Ñ/Ü×Ñ×)Ñ)Ü×Ñ×(Ñ(ð"ô ñ
 Ø —^�^ˆ	Ø×Ñ¤× 1Ñ 1× 7Ñ 7Ö7Úñ $ñ r&   c                ó0   € V ^8„  d   QhR\         R\        /# )r   Ú	type_hintr!   r   )r#   s   "r$   r%   r%   ‘  s   € ÷ fñ f¬3ð f´4ñ fr&   c                ó`   € V \         \        39   ;'       g    \        V 4      \         \        39   # )z2Helper to check if a type is Required/NotRequired.)r   r   r   )r  s   &r$   r¡   r¡   ‘  s*   € àœ¤;Ð/Ñ/×eÐe´J¸yÓ4IÌhÔXcÐMdÑ4dÐer&   c          	      ó¬   € V ^8„  d   Qh/ ^ \         9   d@   \        \        \        \        \        \
        \        R3,          .R3,          3,          ;R&   # )r   .NrÅ   )Ú__conditional_annotations__r—   r   r   r;   r¢   )r#   s   "r$   r%   r%      sC   € × Ñ ÷jò œœS¤(¬C´´e¼CÀ¸HµoÐ+FÈÐ+LÕ"MÐMÕNñ òk r&   r)   r(   )r*   r›   rµ   r³   r   r   r   )Fr  Úcollections.abcró   rˆ   Útypesr   Údataclassesr   r   r   r   r   Ú	functoolsr	   r
   Útypingr   r   r   r   r   r   r   r   r   r   r   r   r®   Útyping_extensionsr–   rÎ   r   r   r   r³   r   r—   r;   r   Úobjectr£   r*   r›   r™   r    rµ   r½   rÇ   rÄ   rÐ   rÖ   rá   ræ   rì   rð   rö   rÆ   r{   r   r¡   r~   r¢   rï   rô   rõ   rÅ   Ú	UnionTypeÚ__all__r%   )r  s   @r$   Ú<module>r     sÛ  øðß Ð Û Û Ý $ß EÕ Eß &÷÷ ÷ ð
2ç,÷ñ ð ˜�u˜d�{Õ#€ÙˆCƒL€Ù˜¨t°C¸°H­~Ô>€á"›HÐ ð 
Ü (ó 
Ø (ð 
Ø O EÖ Oó 
Ø Oñc2À÷ c2ð c2õL/ðd ô;ó ð;õ<
ð$ Ø"ØØØØØ ÷(õVõDQõ6Uõõ	OõRõMõWõ.DõVõ$	
õõõ6fð 
ˆ?ØÐØˆ.Øˆ.Ø	ˆ?ØˆØ‡O�O×ÑÐ0ðRÐ ó ð +:Ð �u—‘Ñ 'ò‚øðY ô 2ð2ç;Ò;øØô 2á˜
 B¨Ó+ˆÙ˜=¨"¨bÓ1Œð2úð	2ús*   ÁE% Å%FÅ-E8Å8FÆFÆFÆF