ó
    ,Êžj%  ã                  ó*  • S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJr  S SKrS SK	J
r
  S SKJr  S SKJr  \(       a$  S S	KJr  S S
KJr  \" S5      r\" S5      r\" S5      rSrSrSS jrSS jr  S         SS jjr  S         SS jjrg)é    )ÚannotationsN)ÚAny)ÚTYPE_CHECKING)ÚTypeVar)Úversion)Ú_get_docstring_indent)Ú_validate_version)ÚCallable)Ú	ParamSpecÚFTÚFPÚCTa  

.. warning::
    Deprecated in v{d_ver}. This feature will be removed in the future. The removal of this
    feature is currently scheduled for v{r_ver}, but this schedule is subject to change.
    See https://github.com/optuna/optuna/releases/tag/v{d_ver}.
z�{name} has been deprecated in v{d_ver}. This feature will be removed in v{r_ver}. See https://github.com/optuna/optuna/releases/tag/v{d_ver}.c                ó„   • [         R                  " U 5      [         R                  " U5      :”  a  [        SU  SU S35      eg )NzŒInvalid version relationship. The deprecated version must be smaller than the removed version, but (deprecated version, removed version) = (z, z) are specified.)r   ÚparseÚ
ValueError)Úold_versionÚnew_versions     Ú C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\optuna/_deprecated.pyÚ_validate_two_versionr   *   sF   € Ü‡}‚}�[Ó!¤G§M¢M°+Ó$>Ó>Üðàˆ}˜B˜{˜mÐ+;ð=ó
ð 	
ð ?ó    c                óX   • S[         R                  " U R                  5       S5      -   S-   $ )Nz

z    Ú
)ÚtextwrapÚindentÚstrip)Útexts    r   Ú_format_textr   3   s#   € Ø”H—O’O D§J¡J£L°&Ó9Ñ9¸DÑ@Ð@r   c                óh   ^ ^^^• [        T 5        [        T5        [        T T5        SU UUU4S jjnU$ )aé  Decorate function as deprecated.

Args:
    deprecated_version:
        The version in which the target feature is deprecated.
    removed_version:
        The version in which the target feature will be removed.
    name:
        The name of the feature. Defaults to the function name. Optional.
    text:
        The additional text for the deprecation note. The default note is build using specified
        ``deprecated_version`` and ``removed_version``. If you want to provide additional
        information, please specify this argument yourself.

        .. note::
            The default deprecation note is as follows: "Deprecated in v{d_ver}. This feature
            will be removed in the future. The removal of this feature is currently scheduled
            for v{r_ver}, but this schedule is subject to change. See
            https://github.com/optuna/optuna/releases/tag/v{d_ver}."

        .. note::
            The specified text is concatenated after the default deprecation note.
c                ób  >^ • T R                   c  ST l         [        R                  TTS9nTb  U[        T5      -  n[	        T R                   5      nT R                   R                  5       [        R                  " X5      -   U-   T l         [        R                  " T 5      SUU UUU4S jj5       nU$ )NÚ ©Úd_verÚr_verc                 ó¦   >• [         R                  Tb  TOTR                  TTS9nTb  UST-   -  n[        R                  " U[
        SS9  T" U 0 UD6$ )zjDecorates a function as deprecated.

This decorator is supposed to be applied to the deprecated function.
©Únamer"   r#   Ú é   ©Ú
stacklevel)Ú_DEPRECATION_WARNING_TEMPLATEÚformatÚ__name__ÚwarningsÚwarnÚFutureWarning)ÚargsÚkwargsÚmessageÚdeprecated_versionÚfuncr&   Úremoved_versionr   s      €€€€€r   ÚwrapperÚ3deprecated_func.<locals>.decorator.<locals>.wrapperc   sd   ø€ ô 4×:Ñ:Ø"Ñ.‘d°D·M±MØ(Ø%ð ;ð ˆGð
 ÑØ˜3 ™:Ñ%�Ü�MŠM˜'¤=¸QÒ?á˜Ð( Ñ(Ð(r   )r1   r   r2   r   Úreturnz'FT')
Ú__doc__Ú_DEPRECATION_NOTE_TEMPLATEr,   r   r   r   r   r   Ú	functoolsÚwraps)r5   Únoter   r7   r4   r&   r6   r   s   `   €€€€r   Ú	decoratorÚ"deprecated_func.<locals>.decoratorY   sœ   ù€ Ø�<‰<ÑØˆDŒLä)×0Ñ0Ð7IÐQ`Ð0ÐaˆØÑØ”L Ó&Ñ&ˆDÜ& t§|¡|Ó4ˆØ—|‘|×)Ñ)Ó+¬h¯oªo¸dÓ.KÑKÈfÑTˆŒä	�Š˜Ó	÷	)ò 	)ó 
ð	)ð" ˆr   )r5   ú'Callable[FP, FT]'r9   rA   ©r	   r   ©r4   r6   r&   r   r?   s   ```` r   Údeprecated_funcrD   7   s3   û€ ô< Ð(Ô)Ü�oÔ&ÜÐ,¨oÔ>÷ò ð< Ðr   c                óh   ^ ^^^• [        T 5        [        T5        [        T T5        SU UUU4S jjnU$ )aã  Decorate class as deprecated.

Args:
    deprecated_version:
        The version in which the target feature is deprecated.
    removed_version:
        The version in which the target feature will be removed.
    name:
        The name of the feature. Defaults to the class name. Optional.
    text:
        The additional text for the deprecation note. The default note is build using specified
        ``deprecated_version`` and ``removed_version``. If you want to provide additional
        information, please specify this argument yourself.

        .. note::
            The default deprecation note is as follows: "Deprecated in v{d_ver}. This feature
            will be removed in the future. The removal of this feature is currently scheduled
            for v{r_ver}, but this schedule is subject to change. See
            https://github.com/optuna/optuna/releases/tag/v{d_ver}."

        .. note::
            The specified text is concatenated after the default deprecation note.
c                ó*   >• SUUUU4S jjnU" U 5      $ )Nc                ó°  >^^• [        U S5      m[        U S5      m[        R                  " T5      SUUUUUU	4S jj5       n[        U SU5        U R                  c  SU l        [
        R                  TTS9nT	b  U[        T	5      -  n[        U R                  5      nU R                  R                  5       [        R                  " X#5      -   U-   U l        U $ )zdDecorates a class as deprecated.

This decorator is supposed to be applied to the deprecated class.
Ú__init__r-   c                óœ   >• [         R                  Tb  TOTTTS9nT	b  UST	-   -  n[        R                  " U[        SS9  T" U /UQ70 UD6  g )Nr%   r'   r(   r)   )r+   r,   r.   r/   r0   )
Úselfr1   r2   r3   Ú_original_initÚ_original_namer4   r&   r6   r   s
       €€€€€€r   Úwrapped_initÚJdeprecated_class.<locals>.decorator.<locals>.wrapper.<locals>.wrapped_init¥   sg   ø€ ä7×>Ñ>Ø"&Ñ"2™$¸Ø,Ø)ð ?ð �ð
 Ñ#Ø˜s T™zÑ)�GÜ—’ØÜ!Ø òñ ˜tÐ5 dÒ5¨fÓ5r   r    r!   )rJ   r   r1   r   r2   r   r9   ÚNone)Úgetattrr<   r=   Úsetattrr:   r;   r,   r   r   r   r   r   )
ÚclsrM   r>   r   rK   rL   r4   r&   r6   r   s
       @@€€€€r   r7   Ú4deprecated_class.<locals>.decorator.<locals>.wrapper�   sÈ   ú€ ô
 % S¨*Ó5ˆNÜ$ S¨*Ó5ˆNä�_Š_˜^Ó,÷6ó 6ó -ð6ô  �C˜ \Ô2à�{‰{Ñ"Ø �”ä-×4Ñ4Ø(°ð 5ð ˆDð ÑØœ TÓ*Ñ*�Ü*¨3¯;©;Ó7ˆFØŸ+™+×+Ñ+Ó-´·²ÀÓ0MÑMÐPVÑVˆCŒKàˆJr   ©rR   ú'CT'r9   rU   © )rR   r7   r4   r&   r6   r   s     €€€€r   r?   Ú#deprecated_class.<locals>.decoratorœ   s   ø€ ÷&	ò &	ñP �s‹|Ðr   rT   rB   rC   s   ```` r   Údeprecated_classrX   z   s4   û€ ô< Ð(Ô)Ü�oÔ&ÜÐ,¨oÔ>÷)ò )ðV Ðr   )r   Ústrr   rY   r9   rO   )r   rY   r9   rY   )NN)
r4   rY   r6   rY   r&   ú
str | Noner   rZ   r9   z0'Callable[[Callable[FP, FT]], Callable[FP, FT]]')
r4   rY   r6   rY   r&   rZ   r   rZ   r9   z'Callable[[CT], CT]')Ú
__future__r   r<   r   Útypingr   r   r   r.   Ú	packagingr   Úoptuna._experimentalr   r	   Úcollections.abcr
   Útyping_extensionsr   r   r   r   r;   r+   r   r   rD   rX   rV   r   r   Ú<module>ra      sê   ðÝ "ã Û Ý Ý  Ý Û å å 6Ý 2ö Ý(å+á	�‹€BÙ	�4‹€BÙ	�‹€BðÐ ðBð ô
ôAð Øð	@Øð@àð@ð ð@ð ð	@ð
 6õ@ðL Øð	MØðMàðMð ðMð ð	Mð
 öMr   