Ë
    ÷Q(hB  ã                   óL   — d dl Z d dlZd dlmZ dgZ G d„ d«      Zd„ Zd„ Zd„ Zy)é    N)Ú	signatureÚ
deprecatedc                   ó0   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zy)	r   a¥  Decorator to mark a function or class as deprecated.

    Issue a warning when the function is called/the class is instantiated and
    adds a warning to the docstring.

    The optional extra argument will be appended to the deprecation message
    and the docstring. Note: to use this with the default value for extra, put
    in an empty of parentheses:

    Examples
    --------
    >>> from sklearn.utils import deprecated
    >>> deprecated()
    <sklearn.utils.deprecation.deprecated object at ...>
    >>> @deprecated()
    ... def some_function(): pass

    Parameters
    ----------
    extra : str, default=''
          To be added to the deprecation messages.
    c                 ó   — || _         y )N)Úextra)Úselfr   s     úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/utils/deprecation.pyÚ__init__zdeprecated.__init__&   s	   € Øˆ�
ó    c                 ó¨   — t        |t        «      r| j                  |«      S t        |t        «      r| j	                  |«      S | j                  |«      S )zPCall method

        Parameters
        ----------
        obj : object
        )Ú
isinstanceÚtypeÚ_decorate_classÚpropertyÚ_decorate_propertyÚ_decorate_fun)r   Úobjs     r	   Ú__call__zdeprecated.__call__)   sM   € ô �cœ4Ô Ø×'Ñ'¨Ó,Ð,Ü˜œXÔ&ð ×*Ñ*¨3Ó/Ð/à×%Ñ% cÓ*Ð*r   c                 óÖ   ‡‡— d|j                   z  Š| j                  r‰d| j                  z  z  Š|j                  Št        |«      }ˆˆfd„}||_        d|_         ‰|_        ||_        |S )NzClass %s is deprecatedú; %sc                 ó    •— t        j                  ‰t        ¬«       ‰t        j                  u rt        j	                  | «      S  ‰| g|¢­i |¤ŽS ©N)Úcategory)ÚwarningsÚwarnÚFutureWarningÚobjectÚ__new__)ÚclsÚargsÚkwargsÚmsgÚnews      €€r	   Úwrappedz+deprecated._decorate_class.<locals>.wrappedF   sA   ø€ Ü�M‰M˜#¬Õ6Ø”f—n‘nÑ$Ü—~‘~ cÓ*Ð*á�sÐ,˜TÒ, VÑ,Ð,r   r   )Ú__name__r   r   r   Údeprecated_originalÚ__signature__)r   r   Úsigr$   r"   r#   s       @@r	   r   zdeprecated._decorate_class>   sh   ù€ Ø&¨¯©Ñ5ˆØ�:Š:Ø�6˜DŸJ™JÑ&Ñ&ˆCà�k‰kˆÜ˜‹nˆõ	-ð ˆŒà$ˆÔØ&)ˆÔ#àˆÔàˆ
r   c                 ó®   ‡‡— d‰j                   z  Š| j                  r‰d| j                  z  z  Št        j                  ‰«      ˆˆfd„«       }‰|_        |S )zDecorate function funzFunction %s is deprecatedr   c                  óJ   •— t        j                  ‰t        ¬«        ‰| i |¤ŽS r   )r   r   r   )r    r!   Úfunr"   s     €€r	   r$   z)deprecated._decorate_fun.<locals>.wrapped]   s!   ø€ ä�M‰M˜#¬Õ6Ù˜Ð' Ñ'Ð'r   )r%   r   Ú	functoolsÚwrapsÚ__wrapped__)r   r+   r$   r"   s    ` @r	   r   zdeprecated._decorate_funV   sW   ù€ ð *¨C¯L©LÑ8ˆØ�:Š:Ø�6˜DŸJ™JÑ&Ñ&ˆCä	�‰˜Ó	ô	(ó 
ð	(ð "ˆÔàˆr   c                 ó„   ‡‡— | j                   Št        t        j                  ‰j                  «      ˆˆfd„«       «       }|S )Nc                  ó^   •— t        j                  ‰t        ¬«        ‰j                  | i |¤ŽS r   )r   r   r   Úfget)r    r!   r"   Úprops     €€r	   r$   z.deprecated._decorate_property.<locals>.wrappedk   s)   ø€ ô �M‰M˜#¬Õ6Ø�4—9‘9˜dÐ- fÑ-Ð-r   )r   r   r,   r-   r1   )r   r2   r$   r"   s    ` @r	   r   zdeprecated._decorate_propertyh   s:   ù€ Ø�j‰jˆä	Ü	�‰˜Ÿ™Ó	#ô	.ó 
$ó 
ð	.ð ˆr   N)Ú )	r%   Ú
__module__Ú__qualname__Ú__doc__r
   r   r   r   r   © r   r	   r   r      s    „ ñó4ò+ò*ò0ó$	r   c           
      ó¾   — t        | dg «      }|€g }ddj                  |D �cg c])  }t        |j                  t        «      sŒ|j                  ‘Œ+ c}«      v }|S c c}w )z>Helper to check if func is wrapped by our deprecated decoratorÚ__closure__r   r3   )ÚgetattrÚjoinr   Úcell_contentsÚstr)ÚfuncÚclosuresÚcÚis_deprecateds       r	   Ú_is_deprecatedrB   t   s]   € ä�t˜]¨BÓ/€HØÐØˆØ  B§G¡GØ"*ÖO˜Q¬j¸¿¹Ì#Õ.Nˆ�‹ÒOó%ð €Mð Ðùò 	Ps   ¢A
ÁA
c                 ó~   — | �|�t        d«      ‚| €|€t        d«      ‚|�t        j                  dt        «       |S | S )zKHelper to deprecate the `Xt` argument in favor of `X` in inverse_transform.z%Cannot use both X and Xt. Use X only.z(Missing required positional argument: X.z;Xt was renamed X in version 1.5 and will be removed in 1.7.)Ú	TypeErrorr   r   r   )ÚXÚXts     r	   Ú"_deprecate_Xt_in_inverse_transformrG   €   sO   € à€}˜˜ÜÐ?Ó@Ð@à€y�R�ZÜÐBÓCÐCà	€~Ü�‰ØIÜô	
ð ˆ	à€Hr   c                 óh   — | dk7  r)t        j                  dt        «       |�t        d«      ‚| S |€y|S )zCHelper to deprecate force_all_finite in favor of ensure_all_finite.r   zX'force_all_finite' was renamed to 'ensure_all_finite' in 1.6 and will be removed in 1.8.zb'force_all_finite' and 'ensure_all_finite' cannot be used together. Pass `ensure_all_finite` only.T)r   r   r   Ú
ValueError)Úforce_all_finiteÚensure_all_finites     r	   Ú_deprecate_force_all_finiterL   ”   sO   € à˜<Ò'Ü�‰ðäô	
ð Ð(Üð1óð ð
  ÐàÐ ØàÐr   )	r,   r   Úinspectr   Ú__all__r   rB   rG   rL   r7   r   r	   ú<module>rO      s3   ðó Û Ý àˆ.€÷fñ fòRòó(r   