Ë
    S>{i!(  ã            
      ó$  — U d Z ddlmZ ddlmZmZ ddlmZ ddl	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZmZmZ dd	lmZmZ dd
lmZ ddlmZ dZe
rÄ G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de«      Z" G d„ de«      Z#eeee e!e"ejH                  ejJ                  ejL                  ejN                  f	   Z(ee#ejR                  f   Z*ee+eeef   e,eef   ee   f   Z-de.d<    ede(e-«      Z/ edejR                  e#e-«      Z0neZ1 edd¬«      d d d dd d!œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d+d"„«       Z2ed#d$œ	 	 	 	 	 d,d%„«       Z3ed#d$œ	 	 	 	 	 d-d&„«       Z3ed#d$œ	 	 	 	 	 	 	 d.d'„«       Z3 ed(d¬«      d d d d)œ	 	 	 	 	 	 	 d/d*„«       Z3y)0zCOld `@validator` and `@root_validator` function validators from V1.é    )Úannotations)ÚpartialÚpartialmethod)ÚFunctionType)ÚTYPE_CHECKINGÚAnyÚCallableÚLiteralÚTypeVarÚUnionÚoverload)Úwarn)ÚProtocolÚ	TypeAliasÚ
deprecatedé   )Ú_decoratorsÚ_decorators_v1)ÚPydanticUserError)ÚPydanticDeprecatedSince20zQ`allow_reuse` is deprecated and will be ignored; it should no longer be necessaryc                  ó   — e Zd Zdd„Zy)Ú_OnlyValueValidatorClsMethodc                 ó   — y ©N© )ÚselfÚ!_OnlyValueValidatorClsMethod__clsÚ#_OnlyValueValidatorClsMethod__values      úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pydantic/deprecated/class_validators.pyÚ__call__z%_OnlyValueValidatorClsMethod.__call__   ó   � ó    N)r   r   r   r   Úreturnr   ©Ú__name__Ú
__module__Ú__qualname__r    r   r"   r   r   r      s   „ Ü@r"   r   c                  ó   — e Zd Zdd„Zy)Ú_V1ValidatorWithValuesClsMethodc                 ó   — y r   r   )r   Ú$_V1ValidatorWithValuesClsMethod__clsÚ&_V1ValidatorWithValuesClsMethod__valueÚvaluess       r   r    z(_V1ValidatorWithValuesClsMethod.__call__   r!   r"   N)r+   r   r,   r   r-   údict[str, Any]r#   r   r$   r   r"   r   r)   r)      s   „ ÜXr"   r)   c                  ó   — e Zd Zdd„Zy)Ú%_V1ValidatorWithValuesKwOnlyClsMethodc                ó   — y r   r   )r   Ú*_V1ValidatorWithValuesKwOnlyClsMethod__clsÚ,_V1ValidatorWithValuesKwOnlyClsMethod__valuer-   s       r   r    z._V1ValidatorWithValuesKwOnlyClsMethod.__call__   r!   r"   N)r2   r   r3   r   r-   r.   r#   r   r$   r   r"   r   r0   r0      s   „ Ü[r"   r0   c                  ó   — e Zd Zdd„Zy)Ú_V1ValidatorWithKwargsClsMethodc                 ó   — y r   r   )r   Ú$_V1ValidatorWithKwargsClsMethod__clsÚkwargss      r   r    z(_V1ValidatorWithKwargsClsMethod.__call__   r!   r"   N)r7   r   r8   r   r#   r   r$   r   r"   r   r5   r5      s   „ ÜAr"   r5   c                  ó   — e Zd Zdd„Zy)Ú(_V1ValidatorWithValuesAndKwargsClsMethodc                 ó   — y r   r   )r   Ú-_V1ValidatorWithValuesAndKwargsClsMethod__clsr-   r8   s       r   r    z1_V1ValidatorWithValuesAndKwargsClsMethod.__call__"   r!   r"   N)r<   r   r-   r.   r8   r   r#   r   r$   r   r"   r   r:   r:   !   s   „ ÜYr"   r:   c                  ó    — e Zd Z	 	 	 	 	 	 dd„Zy)Ú_V1RootValidatorClsMethodc                 ó   — y r   r   )r   Ú_V1RootValidatorClsMethod__clsÚ!_V1RootValidatorClsMethod__valuess      r   r    z"_V1RootValidatorClsMethod.__call__%   s   € à14r"   N)r@   r   rA   ú"_decorators_v1.RootValidatorValuesr#   rB   r$   r   r"   r   r>   r>   $   s   „ ð	5Øð	5Ø(Jð	5à/ô	5r"   r>   r   Ú_PartialClsOrStaticMethodÚ_V1ValidatorTypeÚ_V1RootValidatorFunctionTypeú©Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more detailsN)ÚcategoryF)ÚpreÚ	each_itemÚalwaysÚcheck_fieldsÚallow_reusec               ó  ‡‡‡‡‡— t        dt        d¬«       |du rt        t        t        d¬«       | g‰¢­Št        ‰d   t        «      rt        dd¬«      ‚t        d	„ ‰D «       «      st        d
d¬«      ‚|du rdndŠdˆˆˆˆˆfd„}|S )aä  Decorate methods on the class indicating that they should be used to validate fields.

    Args:
        __field (str): The first field the validator should be called on; this is separate
            from `fields` to ensure an error is raised if you don't pass at least one.
        *fields (str): Additional field(s) the validator should be called on.
        pre (bool, optional): Whether this validator should be called before the standard
            validators (else after). Defaults to False.
        each_item (bool, optional): For complex objects (sets, lists etc.) whether to validate
            individual elements rather than the whole object. Defaults to False.
        always (bool, optional): Whether this method and other validators should be called even if
            the value is missing. Defaults to False.
        check_fields (bool | None, optional): Whether to check that the fields actually exist on the model.
            Defaults to None.
        allow_reuse (bool, optional): Whether to track and raise an error if another validator refers to
            the decorated function. Defaults to False.

    Returns:
        Callable: A decorator that can be used to decorate a
            function to be used as a validator.
    rF   r   ©Ú
stacklevelTr   z`@validator` should be used with fields and keyword arguments, not bare. E.g. usage should be `@validator('<field_name>', ...)`zvalidator-no-fields©Úcodec              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr   )Ú
isinstanceÚstr)Ú.0Úfields     r   ú	<genexpr>zvalidator.<locals>.<genexpr>�   s   è ø€ Ò<¨E”˜E¤3×'Ñ<ùs   ‚zˆ`@validator` fields should be passed as separate string args. E.g. usage should be `@validator('<field_name_1>', '<field_name_2>', ...)`zvalidator-invalid-fieldsÚbeforeÚafterc                óö   •— t        j                  | «      rt        dd¬«      ‚t        j                  | «      } t        j
                  }t        j                  ‰‰‰‰‰¬«      }t        j                  | ||¬«      S )Nz2`@validator` cannot be applied to instance methodszvalidator-instance-methodrP   )ÚfieldsÚmoderI   rJ   rK   ©Úshim)r   Úis_instance_method_from_sigr   Ú%ensure_classmethod_based_on_signaturer   Úmake_generic_v1_field_validatorÚValidatorDecoratorInfoÚPydanticDescriptorProxy)ÚfÚwrapÚvalidator_wrapper_inforJ   rK   rI   r[   r\   s      €€€€€r   Údeczvalidator.<locals>.decŠ   sz   ø€ Ü×2Ñ2°1Ô5Ü#ØDÐKfôð ô ×=Ñ=¸aÓ@ˆÜ×=Ñ=ˆÜ!,×!CÑ!CØØØØØ%ô"
Ðô ×2Ñ2°1Ð6LÐSWÔXÐXr"   )rd   r   r#   z(_decorators.PydanticDescriptorProxy[Any])r   ÚDeprecationWarningÚ_ALLOW_REUSE_WARNING_MESSAGErS   r   r   Úall)	Ú__fieldrH   rI   rJ   rK   rL   r[   rg   r\   s	     ``` ` @r   Ú	validatorrl   L   s¬   ü€ ôH 	ð	4ô 	Øõð �dÑÜÔ)Ô+=È!ÕLØÐ�vÑ€FÜ�&˜‘)œ\Ô*ÜðEà&ô
ð 	
ô
 Ñ<°VÔ<Ô<ÜðYà+ô
ð 	
ð 47¸$±;¡xÀG€D÷Yñ Yð" €Jr"   .)rL   c                 ó   — y r   r   )Úskip_on_failurerL   s     r   Úroot_validatorro   ž   ó   € ð r"   c                 ó   — y r   r   )rH   rL   s     r   ro   ro   «   rp   r"   c                 ó   — y r   r   ©rH   rn   rL   s      r   ro   ro   ¸   s   € ð r"   ú®Pydantic V1 style `@root_validator` validators are deprecated. You should migrate to Pydantic V2 style `@model_validator` validators, see the migration guide for more detailsrs   c                óþ   ‡‡— t        dt        d¬«       |r t        «       |Ž S |du rt        t        t        d¬«       | du rdndŠ| du r|durt	        dd	¬
«      ‚t        t        j                  | ¬«      Šdˆˆfd„}|S )aõ  Decorate methods on a model indicating that they should be used to validate (and perhaps
    modify) data either before or after standard model parsing/validation is performed.

    Args:
        pre (bool, optional): Whether this validator should be called before the standard
            validators (else after). Defaults to False.
        skip_on_failure (bool, optional): Whether to stop validation and return as soon as a
            failure is encountered. Defaults to False.
        allow_reuse (bool, optional): Whether to track and raise an error if another validator
            refers to the decorated function. Defaults to False.

    Returns:
        Any: A decorator that can be used to decorate a function to be used as a root_validator.
    rt   r   rN   TrX   rY   Fz¼If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`.zroot-validator-pre-skiprP   )rH   c                óÊ   •— t        j                  | «      rt        d«      ‚t        j                  | «      }t        j                  ‰¬«      }t        j
                  ||‰¬«      S )Nz7`@root_validator` cannot be applied to instance methods)r\   r]   )r   r_   Ú	TypeErrorr`   ÚRootValidatorDecoratorInforc   )rd   ÚresÚdec_infor\   re   s      €€r   rg   zroot_validator.<locals>.decø   sR   ø€ Ü×2Ñ2°1Ô5ÜÐUÓVÐVä×?Ñ?ÀÓBˆÜ×9Ñ9¸tÔDˆÜ×2Ñ2°3¸ÀtÔLÐLr"   )rd   zHCallable[..., Any] | classmethod[Any, Any, Any] | staticmethod[Any, Any]r#   r   )r   rh   ro   ri   r   r   r   Úmake_v1_generic_root_validator)rH   rn   rL   Ú__argsrg   r\   re   s        @@r   ro   ro   Æ   s—   ù€ ô4 	ð	4ô 	Øõñ àŒ~Ó Ð(Ð(à�dÑÜÔ)Ô+=È!ÕLØ36¸$±;¡xÀG€DØ
ˆe�|˜¨tÑ3Üðià*ô
ð 	
ô ”>×@Ñ@ÀcÔJ€DöMð €Jr"   )rk   rT   r[   rT   rH   ÚboolrI   r}   rJ   r}   rK   zbool | NonerL   r}   r#   z.Callable[[_V1ValidatorType], _V1ValidatorType])rn   úLiteral[True]rL   r}   r#   úFCallable[[_V1RootValidatorFunctionType], _V1RootValidatorFunctionType])rH   r~   rL   r}   r#   r   )rH   zLiteral[False]rn   r~   rL   r}   r#   r   )rH   r}   rn   r}   rL   r}   r#   r   )4Ú__doc__Ú
__future__r   Ú_annotationsÚ	functoolsr   r   Útypesr   Útypingr   r   r	   r
   r   r   r   Úwarningsr   Útyping_extensionsr   r   r   Ú	_internalr   r   Úerrorsr   r   ri   r   r)   r0   r5   r:   r>   ÚV1ValidatorWithValuesÚV1ValidatorWithValuesKwOnlyÚV1ValidatorWithKwargsÚV1ValidatorWithValuesAndKwargsÚV1ValidatorÚV1RootValidatorFunctionÚV1RootValidatorÚclassmethodÚstaticmethodrC   Ú__annotations__rD   rE   rh   rl   ro   r   r"   r   ú<module>r”      sç  ðÚ Iå 2ç ,Ý ß R× RÑ RÝ ç =Ñ =ç 3Ý &Ý 0àrÐ ñ ôA xô AôY¨(ô Yô\°ô \ôB¨(ô BôZ°8ô Zô5 Hô 5ð
 Ø$Ø'Ø-Ø'Ø0Ø×,Ñ,Ø×2Ñ2Ø×,Ñ,Ø×5Ñ5ð	7ñ
€Kð Ø!Ø×.Ñ.ð	0ñ€Oð
 ,1°¸SÀ#Às¸]Ñ1KÈ\ÐZ]Ð_bÐZbÑMcÐerÐsvÑewÐ1wÑ+xÐ˜yÓxñ
 Ð1°;Ð@YÓZÐÙ#*Ø&Ø×.Ñ.Ø!Ø!ó	$Ñ ð 3Ðñ ð0ð ô	ð ØØØ $ØñIØðIàðIð 
ðIð ð	Ið
 ðIð ðIð ðIð 4òIóðIðX 
ð ñ	ð #ð		ð
 ð	ðò	ó 
ð	ð 
ð ñ	ð 
ð		ð
 ð	ðò	ó 
ð	ð 
ð ñ
ð 
ð	
ð
 #ð
ð ð
ðò
ó 
ð
ñ ð0ð ô	ð Ø!Øñ	4à	ð4ð ð4ð ð	4ð
 	ò4óñ4r"   