Ë
    S>{iøI  ã                  óF  — d Z ddlmZ ddlZddlZddlZddl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 ddlmZmZ ddlmZmZmZmZmZ dd	lmZ dd
lmZ ddl m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z' e	rddl(m)Z) ddl*m+Z+ dZ, ed«      Z-ej\                  dk\  r‰ eej^                  e%e'f¬«      edddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%d„«       «       Z0 eej^                  e%e'f¬«      edddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d„«       «       Z0n| eej^                  e%e'f¬«      edddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd„«       «       Z0 eej^                  e%e'f¬«      edddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d„«       «       Z0 eej^                  e%e'f¬«      	 d)dddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d*d„«       Z0d+d„Z1 ee2«      Z3ej\                  dk  rd,d „Z4e4ejj                  _6        ddd!dd"œ	 	 	 	 	 	 	 	 	 	 	 d-d#„Z7d.d$„Z8y)/z7Provide an enhanced dataclass that performs validation.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚCallableÚGenericÚLiteralÚNoReturnÚTypeVarÚoverload)Úwarn)Ú	TypeGuardÚdataclass_transformé   )Ú_configÚ_decoratorsÚ_mock_val_serÚ_namespace_utilsÚ_typing_extra)Ú_dataclasses)Úgetattr_migration)Ú
ConfigDict)ÚPydanticUserError)ÚFieldÚ	FieldInfoÚPrivateAttr)ÚPydanticDataclass)ÚMappingNamespace)Ú	dataclassÚrebuild_dataclassÚ_T©é   é
   )Úfield_specifiersFT.©
ÚinitÚreprÚeqÚorderÚunsafe_hashÚfrozenÚconfigÚvalidate_on_initÚkw_onlyÚslotsc        
         ó   — y ©N© r%   s
             úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pydantic/dataclasses.pyr   r      s   € ð 	ó    c       
         ó   — y r1   r2   )Ú_clsr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   s              r3   r   r   0   s   € ð #&r4   ©r&   r'   r(   r)   r*   r+   r,   r-   c                 ó   — y r1   r2   r7   s           r3   r   r   C   s   € ð 	r4   c                ó   — y r1   r2   )	r6   r&   r'   r(   r)   r*   r+   r,   r-   s	            r3   r   r   R   s   € ð #&r4   c       
   	     ó¦   ‡‡‡‡‡‡‡
‡— |du sJ d«       ‚|dusJ d«       ‚t         j                  dk\  r|	‰
dœŠni Šdˆˆˆˆˆˆˆ
ˆfd„}| €|S  || «      S )aÚ  !!! abstract "Usage Documentation"
        [`dataclasses`](../concepts/dataclasses.md)

    A decorator used to create a Pydantic-enhanced dataclass, similar to the standard Python `dataclass`,
    but with added validation.

    This function should be used similarly to `dataclasses.dataclass`.

    Args:
        _cls: The target `dataclass`.
        init: Included for signature compatibility with `dataclasses.dataclass`, and is passed through to
            `dataclasses.dataclass` when appropriate. If specified, must be set to `False`, as pydantic inserts its
            own  `__init__` function.
        repr: A boolean indicating whether to include the field in the `__repr__` output.
        eq: Determines if a `__eq__` method should be generated for the class.
        order: Determines if comparison magic methods should be generated, such as `__lt__`, but not `__eq__`.
        unsafe_hash: Determines if a `__hash__` method should be included in the class, as in `dataclasses.dataclass`.
        frozen: Determines if the generated class should be a 'frozen' `dataclass`, which does not allow its
            attributes to be modified after it has been initialized. If not set, the value from the provided `config` argument will be used (and will default to `False` otherwise).
        config: The Pydantic config to use for the `dataclass`.
        validate_on_init: A deprecated parameter included for backwards compatibility; in V2, all Pydantic dataclasses
            are validated on init.
        kw_only: Determines if `__init__` method parameters must be specified by keyword only. Defaults to `False`.
        slots: Determines if the generated class should be a 'slots' `dataclass`, which does not allow the addition of
            new attributes after instantiation.

    Returns:
        A decorator that accepts a class as its argument and returns a Pydantic `dataclass`.

    Raises:
        AssertionError: Raised if `init` is not `False` or `validate_on_init` is `False`.
    Fz7pydantic.dataclasses.dataclass only supports init=Falsez-validate_on_init=False is no longer supportedr!   )r.   r/   c                óv  •‡‡— ddl m}  || «      rt        d| j                  › d�d¬«      ‚| }t	        d„ | j
                  D «       «      }|s.‰�,t        | d	«      r t        d
| j                  › d�t        d¬«       ‰�‰nt        | d	d«      }t        j                  |«      }t        j                  j                  | «      }|j                  |«       | j                   }t#        j$                  | «      rNd}| f}t'        | t(        «      rt(        | j*                     }	||	fz   }t-        j.                  | j                  |«      } ‰�/‰Š|j0                  r1t        d| j                  ›d�t        d¬«       n|j0                  xs dŠt3        j4                  | «      }
|
D ]@  }t        | |d«      }t7        |t8        «      sŒ!t;        | |t#        j<                  |«      «       ŒB t#        j>                  | «      5  tA        jB                  | fd‰‰‰‰‰dœ‰¤Ž} ddd«       |jD                  rp| jF                  ŠtI        jJ                  | jF                  «      dˆˆfd„«       }|jM                  d| «      | _#        ‰r"t        | d«      sdd„}dd„}|| _'        || _(        d| _)        || _*        || _        t        |dd«      }|jV                  | _+        tX        jZ                  dk\  r|�||_.        || _.        |j^                  | _/        ta        tb        «      | _2        d| _3        t#        jh                  | |d¬«       | S # 1 sw Y   �Œ"xY w)zÃCreate a Pydantic dataclass from a regular dataclass.

        Args:
            cls: The class to create the Pydantic dataclass from.

        Returns:
            A Pydantic dataclass.
        r   )Úis_model_classz(Cannot create a Pydantic dataclass from z" as it is already a Pydantic modelzdataclass-on-model)Úcodec              3  óF   K  — | ]  }t        j                  |«      –— Œ y ­wr1   )ÚdataclassesÚis_dataclass)Ú.0Úbases     r3   ú	<genexpr>z6dataclass.<locals>.create_dataclass.<locals>.<genexpr>®   s   è ø€ Ò ZÀD¤×!9Ñ!9¸$×!?Ñ Zùs   ‚!NÚ__pydantic_config__z[`config` is set via both the `dataclass` decorator and `__pydantic_config__` for dataclass zK. The `config` specification from `dataclass` decorator will take priority.é   )ÚcategoryÚ
stacklevelzN`frozen` is set via both the `dataclass` decorator and `config` for dataclass zW.This is not recommended. The `frozen` specification on `dataclass` will take priority.FT)r&   r'   r(   r)   r*   r+   c               ó<  •— ‰r
 ‰| ||«      S t        | «      }t        ||d «      }t        |t        «      r|j	                  | |«       y t        |t
        j                  «      r| j                  j                  ||«       y |j                  j                  | ||«       y r1   )ÚtypeÚgetattrÚ
isinstanceÚpropertyÚ__set__Ú	functoolsÚcached_propertyÚ__dict__Ú__setitem__Ú__pydantic_validator__Úvalidate_assignment)ÚinstanceÚnameÚvalueÚinst_clsÚattrÚfrozen_Úoriginal_setattrs        €€r3   Úvalidated_setattrz>dataclass.<locals>.create_dataclass.<locals>.validated_setattrþ   s„   ø€ áÙ+¨H°d¸EÓBÐBÜ ›>�Ü˜x¨¨tÓ4�ä˜d¤HÔ-Ø—L‘L ¨5Õ1Ü ¤i×&?Ñ&?Ô@Ø×%Ñ%×1Ñ1°$¸Õ>à×3Ñ3×GÑGÈÐRVÐX]Õ^r4   Ú__setstate__c                óz   — t        j                  | «      D �cg c]  }t        | |j                  «      ‘Œ c}S c c}w r1   )r?   ÚfieldsrJ   rU   )ÚselfÚfs     r3   Ú_dataclass_getstatez@dataclass.<locals>.create_dataclass.<locals>._dataclass_getstate  s,   € Ü;F×;MÑ;MÈdÓ;SÖT°aœG D¨!¯&©&Õ1ÒTÐTùÒTs   ˜8c                ó”   — t        t        j                  | «      |«      D ]&  \  }}t        j	                  | |j
                  |«       Œ( y r1   )Úzipr?   r^   ÚobjectÚ__setattr__rU   )r_   ÚstateÚfieldrV   s       r3   Ú_dataclass_setstatez@dataclass.<locals>.create_dataclass.<locals>._dataclass_setstate  s?   € Ü(+¬K×,>Ñ,>¸tÓ,DÀeÓ(Lò D™˜˜uÜ×*Ñ*¨4°·±¸UÕCñDr4   Ú__firstlineno__)r"   é   )Úraise_errors)rT   r   rU   ÚstrrV   r   ÚreturnÚNone)r_   r   rm   ú	list[Any])r_   r   rf   ro   rm   rn   )5Ú_internal._utilsr<   r   Ú__name__ÚanyÚ	__bases__Úhasattrr   ÚUserWarningrJ   r   ÚConfigWrapperr   ÚDecoratorInfosÚbuildÚupdate_from_configÚ__doc__Ú_pydantic_dataclassesÚis_stdlib_dataclassÚ
issubclassr   Ú__parameters__ÚtypesÚ	new_classr+   r   Úsafe_get_annotationsrK   r   ÚsetattrÚas_dataclass_fieldÚpatch_base_fieldsr?   r   rS   re   rN   ÚwrapsÚ__get__Ú__getstate__r\   Ú__is_pydantic_dataclass__Ú__pydantic_decorators__Ú
__module__ÚsysÚversion_infori   Ú__qualname__ÚclassmethodÚ_pydantic_fields_completeÚ__pydantic_fields_complete__Ú__pydantic_complete__Úcomplete_dataclass)Úclsr<   Úoriginal_clsÚhas_dataclass_baseÚconfig_dictÚconfig_wrapperÚ
decoratorsÚoriginal_docÚbasesÚgeneric_baseÚcls_annsÚ
field_nameÚfield_valuer[   ra   rh   ÚfirstlinenorY   rZ   r,   r(   r+   Úkwargsr)   r'   r/   r*   s                    @@€€€€€€€€r3   Úcreate_dataclassz#dataclass.<locals>.create_dataclass™   sM  ú€ õ 	5á˜#ÔÜ#Ø:¸3¿<¹<¸.ÐHjÐkØ)ôð ð
 ˆô !Ñ ZÈCÏMÉMÔ ZÓZÐÙ! fÐ&8¼WÀSÐJ_Ô=`ÜØmÐnq×nzÑnzÐm{ð |\ð ]ä$Øõ	ð !'Ð 2‘f¼ÀÐEZÐ\`Ó8aˆÜ ×.Ñ.¨{Ó;ˆÜ ×/Ñ/×5Ñ5°cÓ:ˆ
Ø×%Ñ% nÔ5ð
 —{‘{ˆä ×4Ñ4°SÔ9ð  ˆLð
 �FˆEÜ˜#œwÔ'Ü& s×'9Ñ'9Ñ:�Ø  Ñ/�Ü—/‘/ #§,¡,°Ó6ˆCð ÐØˆGØ×$Ò$äØdÐeh×eqÑeqÐdtð umð mä(Ø ö	ð %×+Ñ+Ò4¨uˆGô !×5Ñ5°cÓ:ˆØ"ò 	`ˆJô " # z°4Ó8ˆKÜ˜+¤yÕ1Ü˜˜ZÔ)>×)QÑ)QÐR]Ó)^Õ_ð	`ô #×4Ñ4°SÓ9ñ 	Ü×'Ñ'Øð
ð ØØØØ'Øñ
ð ñ
ˆC÷	ð ×-Ò-Ø"Ÿ™Ðä�_‰_˜SŸ_™_Ó-õ_ó .ð_ð 0×7Ñ7¸¸cÓBˆCŒOáœW S¨.Ô9óUóDð $7�Ô Ø#6�Ô ð )-ˆÔ%Ø&0ˆÔ#Ø"ˆŒä˜lÐ,=¸tÓDˆØ%×0Ñ0ˆŒÜ×Ñ˜wÒ&¨;Ð+Bð ,7ˆLÔ(Ø"-ˆCÔØ'×4Ñ4ˆÔÜ+6Ô7PÓ+QˆÔ(Ø$)ˆÔ!ô 	×0Ñ0°°nÐSXÕYØˆ
÷S	ñ 	ús   Ç0L.Ì.L8)r“   ú	type[Any]rm   útype[PydanticDataclass])r‹   rŒ   )r6   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r¡   r    s     ``````  ` @r3   r   r   b   sn   ÿ€ ð^ �5‰=ÐSÐSÓSˆ=Ø 5Ñ(ÐYÐ*YÓYÐ(ä
×Ñ˜7Ò"Ø$¨uÑ5‰àˆ÷^ô ^ð@  $˜|ÐÐGÑ1AÀ$Ó1GÐGr4   c                óV   — t        d„ | j                  j                  «       D «       «      S )z±Return whether the fields where successfully collected (i.e. type hints were successfully resolves).

    This is a private property, not meant to be used outside Pydantic.
    c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr1   )Ú	_complete)rA   Ú
field_infos     r3   rC   z,_pydantic_fields_complete.<locals>.<genexpr>A  s   è ø€ ÒW¨
ˆz×#Õ#ÑWùs   ‚)ÚallÚ__pydantic_fields__Úvalues)r“   s    r3   r�   r�   <  s$   € ô
 ÑW°c×6MÑ6M×6TÑ6TÓ6VÔWÓWÐWr4   )r"   é   c                 ó   — t        d«      ‚)a9  This function does nothing but raise an error that is as similar as possible to what you'd get
        if you were to try calling `InitVar[int]()` without this monkeypatch. The whole purpose is just
        to ensure typing._type_check does not error if the type hint evaluates to `InitVar[<parameter>]`.
        z 'InitVar' object is not callable)Ú	TypeError)Úargsr    s     r3   Ú_call_initvarr¯   J  s   € ô
 Ð:Ó;Ð;r4   rE   )Úforcerk   Ú_parent_namespace_depthÚ_types_namespacec               óª  — |s| j                   rydD ]B  }|| j                  v sŒt        t        | |«      t        j
                  «      rŒ7t        | |«       ŒD d| _         |�|}n#|dkD  rt        j                  |d¬«      xs i }ni }t        j                  |¬«      }t        j                  | t        j                  | j                  d¬«      ||d¬	«      S )
ax  Try to rebuild the pydantic-core schema for the dataclass.

    This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
    the initial attempt to build the schema, and automatic rebuilding fails.

    This is analogous to `BaseModel.model_rebuild`.

    Args:
        cls: The class to rebuild the pydantic-core schema for.
        force: Whether to force the rebuilding of the schema, defaults to `False`.
        raise_errors: Whether to raise errors, defaults to `True`.
        _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
        _types_namespace: The types namespace, defaults to `None`.

    Returns:
        Returns `None` if the schema is already "complete" and rebuilding was not required.
        If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
    N)Ú__pydantic_core_schema__rR   Ú__pydantic_serializer__Fr   T)Úparent_depthr°   )Úparent_namespace)Úcheck)rk   Úns_resolverÚ_force_build)r‘   rP   rK   rJ   r   Ú
MockValSerÚdelattrr   Úparent_frame_namespacer   Ú
NsResolverr{   r’   r   rv   rD   )r“   r°   rk   r±   r²   rX   Ú
rebuild_nsr¹   s           r3   r   r   T  s×   € ñ4 �S×.Ò.Øàaò ˆØ�3—<‘<Ò¬
´7¸3ÀÓ3EÄ}×G_ÑG_Õ(`ô �C˜Õð	ð !&€CÔàÐ#Ø%‰
Ø	  1Ò	$Ü"×9Ñ9ÐG^ÐfjÔkÒqÐoq‰
àˆ
ä"×-Ñ-Ø#ô€Kô !×3Ñ3ØÜ×Ñ˜c×5Ñ5¸UÔCØ!Øð
 ô
ð 
r4   c               ól   — 	 d| j                   v xr t        j                  | «      S # t        $ r Y yw xY w)z©Whether a class is a pydantic dataclass.

    Args:
        class_: The class.

    Returns:
        `True` if the class is a pydantic dataclass, `False` otherwise.
    rˆ   F)rP   r?   r@   ÚAttributeError)Úclass_s    r3   Úis_pydantic_dataclassrÃ   ‘  s9   € ðØ*¨f¯o©oÐ=ÒbÄ+×BZÑBZÐ[aÓBbÐbøÜò Ùðús   ‚$' §	3²3)r&   úLiteral[False]r'   Úboolr(   rÅ   r)   rÅ   r*   rÅ   r+   rÅ   r,   ú ConfigDict | type[object] | Noner-   úbool | Noner.   rÅ   r/   rÅ   rm   ú-Callable[[type[_T]], type[PydanticDataclass]])r6   útype[_T]r&   rÄ   r'   rÅ   r(   rÅ   r)   rÅ   r*   rÅ   r+   rÇ   r,   rÆ   r-   rÇ   r.   rÅ   r/   rÅ   rm   r£   )r&   rÄ   r'   rÅ   r(   rÅ   r)   rÅ   r*   rÅ   r+   rÇ   r,   rÆ   r-   rÇ   rm   rÈ   )r6   rÉ   r&   rÄ   r'   rÅ   r(   rÅ   r)   rÅ   r*   rÅ   r+   rÇ   r,   rÆ   r-   rÇ   rm   r£   r1   )r6   ztype[_T] | Noner&   rÄ   r'   rÅ   r(   rÅ   r)   rÅ   r*   rÅ   r+   rÇ   r,   rÆ   r-   rÇ   r.   rÅ   r/   rÅ   rm   zGCallable[[type[_T]], type[PydanticDataclass]] | type[PydanticDataclass])r“   r£   rm   rÅ   )r®   r   r    r   rm   r	   )r“   r£   r°   rÅ   rk   rÅ   r±   Úintr²   zMappingNamespace | Nonerm   rÇ   )rÂ   r¢   rm   z"TypeGuard[type[PydanticDataclass]])9rz   Ú
__future__r   Ú_annotationsr?   rN   r‹   r   Útypingr   r   r   r   r   r	   r
   r   Úwarningsr   Útyping_extensionsr   r   Ú	_internalr   r   r   r   r   r   r{   Ú
_migrationr   r,   r   Úerrorsr   r^   r   r   r   Ú_internal._dataclassesr   Ú_internal._namespace_utilsr   Ú__all__r    rŒ   rg   r   r�   rq   Ú__getattr__r¯   ÚInitVarÚ__call__r   rÃ   r2   r4   r3   ú<module>rÙ      sš  ðÙ =å 2ã Û Û 
Û ß ^× ^Ó ^Ý ç <ç [Õ [Ý <Ý )Ý Ý %ß 1Ñ 1áÝ9Ý<à
*€áˆTƒ]€à×Ñ�wÒá¨;×+<Ñ+<¸eÀ[Ð*QÔRØð  %ØØØØ!ØØ37Ø(,ØØñàðð ðð ð	ð
 ðð ðð ðð 1ðð &ðð ðð ðð 
7òó ó Sðñ ¨;×+<Ñ+<¸eÀ[Ð*QÔRØð  %ØØØØ!Ø"Ø37Ø(,ØØñ&Øð&ð ð&ð ð	&ð
 ð&ð ð&ð ð&ð ð&ð 1ð&ð &ð&ð ð&ð ð&ð 
!ò&ó ó Sñ&ñ" ¨;×+<Ñ+<¸eÀ[Ð*QÔRØð  %ØØØØ!Ø"Ø37Ø(,ñàðð ðð ð	ð
 ðð ðð ðð 1ðð &ðð 
7òó ó Sðñ ¨;×+<Ñ+<¸eÀ[Ð*QÔRØð  %ØØØØ!Ø"Ø37Ø(,ñ&Øð&ð ð&ð ð	&ð
 ð&ð ð&ð ð&ð ð&ð 1ð&ð &ð&ð 
!ò&ó ó Sð&ñ  {×'8Ñ'8¸%ÀÐ&MÔNà ðVHð !ØØØØØØ/3Ø$(ØØñVHØ
ðVHð ðVHð ð	VHð
 	ðVHð ðVHð ðVHð ðVHð -ðVHð "ðVHð ðVHð ðVHð MòVHó OðVHórXñ   Ó)€à×Ñ�gÒó<ð $1€K×ÑÔ ð ØØ#$Ø04ñ:Ø	 ð:ð ð:ð ð	:ð
 !ð:ð .ð:ð ó:ôzr4   