
    -Ph4                        d Z ddlmZ ddlZddlZddlmZmZmZm	Z	 ddl
mZmZ ddlmZ erddl
mZ  eej                  Z e            j        j        ZdZej        d	k    r G d
 de	          Zn G d de          Z G d d          ZdS )a)  What follows is awful and will be gone in Sphinx 9.

Instances of _StrPath should not be constructed except in Sphinx itself.
Consumers of Sphinx APIs should prefer using ``pathlib.Path`` objects
where possible. _StrPath objects can be treated as equivalent to ``Path``,
save that ``_StrPath.replace`` is overridden with ``str.replace``.

To continue treating path-like objects as strings, use ``os.fspath``,
or explicit string coercion.

In Sphinx 9, ``Path`` objects will be expected and returned in all instances
that ``_StrPath`` is currently used.
    )annotationsN)Path	PosixPathPurePathWindowsPath)TYPE_CHECKINGoverload)RemovedInSphinx90Warning)AnyzhSphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead.win32c                  p     e Zd Z	 dddZddZddZddZddZddZd fdZ	d fdZ
d dZddZ xZS )!_StrPatholdstrnewcountintreturnc                   t          j        t          t          d           |                                                     |||          S N   
stacklevelwarningswarn_MSGr
   __str__replaceselfr   r   r   s       T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/util/_pathlib.pyr    z_StrPath.replace)   <    
 M$ 8QGGGG<<>>))#sE:::    itemr   c                    |t           v rCt          j        t          t          d           t          |                                 |          S t          d|}t          |          Nr   r   z has no attribute 	_STR_METHODSr   r   r   r
   getattrr   
_PATH_NAMEAttributeErrorr"   r&   msgs      r#   __getattr__z_StrPath.__getattr__1   ^    |##d$<KKKKt||~~t444==T==C %%%r%   otherc                r    t          j        t          t          d           |                                 |z   S r   r   r   r   r
   r   r"   r2   s     r#   __add__z_StrPath.__add__8   -    M$ 8QGGGG<<>>E))r%   c                r    t          j        t          t          d           ||                                 z   S r   r4   r5   s     r#   __radd__z_StrPath.__radd__<   -    M$ 8QGGGG4<<>>))r%   boolc                t    |                                  s#t          j        t          t          d           dS dS Nr   r   FTr   r   r   r   r
   r"   s    r#   __bool__z_StrPath.__bool__@   4    <<>> d$<KKKKu4r%   c                p    t          j        t          t          d           ||                                 v S r   r4   r"   r&   s     r#   __contains__z_StrPath.__contains__F   -    M$ 8QGGGG4<<>>))r%   objectc                   t          |t                    r!t                                          |          S t          |t                    r9t          j        t          t          d           | 	                                |k    S t          S r   
isinstancer   super__eq__r   r   r   r   r
   r   NotImplementedr"   r2   	__class__s     r#   rK   z_StrPath.__eq__J   n    %** -ww~~e,,,%%% /d$<KKKK||~~..!!r%   c                D    t                                                      S NrJ   __hash__r"   rN   s    r#   rS   z_StrPath.__hash__R       77##%%%r%   int | slicec                x    t          j        t          t          d           |                                 |         S r   r4   rC   s     r#   __getitem__z_StrPath.__getitem__U   -    M$ 8QGGGG<<>>$''r%   c                    t          j        t          t          d           t	          |                                           S r   r   r   r   r
   lenr   r?   s    r#   __len__z_StrPath.__len__Y   0    M$ 8QGGGGt||~~&&&r%   r   r   r   r   r   r   r   r   r   r&   r   r   r   r2   r   r   r   r   r;   r&   r   r   r;   r2   rF   r   r;   r   r   r&   rV   r   r   __name__
__module____qualname__r    r0   r6   r9   r@   rD   rK   rS   rX   r]   __classcell__rN   s   @r#   r   r   (          35	; 	; 	; 	; 	;	& 	& 	& 	&	* 	* 	* 	*	* 	* 	* 	*	 	 	 		* 	* 	* 	*	" 	" 	" 	" 	" 	"	& 	& 	& 	& 	& 	&	( 	( 	( 	(	' 	' 	' 	' 	' 	' 	' 	'r%   r   c                  p     e Zd Z	 dddZddZddZddZddZddZd fdZ	d fdZ
d dZddZ xZS )!r   r   r   r   r   r   r   r   c                   t          j        t          t          d           |                                                     |||          S r   r   r!   s       r#   r    z_StrPath.replace`   r$   r%   r&   r   c                    |t           v rCt          j        t          t          d           t          |                                 |          S t          d|}t          |          r(   r)   r.   s      r#   r0   z_StrPath.__getattr__h   r1   r%   r2   c                r    t          j        t          t          d           |                                 |z   S r   r4   r5   s     r#   r6   z_StrPath.__add__o   r7   r%   c                r    t          j        t          t          d           ||                                 z   S r   r4   r5   s     r#   r9   z_StrPath.__radd__s   r:   r%   r;   c                t    |                                  s#t          j        t          t          d           dS dS r=   r>   r?   s    r#   r@   z_StrPath.__bool__w   rA   r%   c                p    t          j        t          t          d           ||                                 v S r   r4   rC   s     r#   rD   z_StrPath.__contains__}   rE   r%   rF   c                   t          |t                    r!t                                          |          S t          |t                    r9t          j        t          t          d           | 	                                |k    S t          S r   rH   rM   s     r#   rK   z_StrPath.__eq__   rO   r%   c                D    t                                                      S rQ   rR   rT   s    r#   rS   z_StrPath.__hash__   rU   r%   rV   c                x    t          j        t          t          d           |                                 |         S r   r4   rC   s     r#   rX   z_StrPath.__getitem__   rY   r%   c                    t          j        t          t          d           t	          |                                           S r   r[   r?   s    r#   r]   z_StrPath.__len__   r^   r%   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   rm   s   @r#   r   r   _   rn   r%   c                  j    e Zd ZddZddZedd            Zedd            Z	 dddZddZd dZdS )!_StrPathPropertyr   Nonec                    d| _         d S )N instance_attrr?   s    r#   __init__z_StrPathProperty.__init__   s    "$r%   ownerrF   namer   c                    d| | _         d S )N_r   )r"   r   r   s      r#   __set_name__z_StrPathProperty.__set_name__   s    'ZZr%   objobjtypec                    d S rQ    r"   r   r   s      r#   __get__z_StrPathProperty.__get__   s    EHSr%   type[object]r   c                    d S rQ   r   r   s      r#   r   z_StrPathProperty.__get__   s    GJsr%   Nobject | Nonetype[object] | None_StrPathProperty | _StrPathc                P    || S | j         st          t          || j                   S rQ   )r   r-   r+   r   s      r#   r   z_StrPathProperty.__get__   s2     ;K! 	!  sD.///r%   r   value_StrPath | Pathc                    	 t          || j        t          |                     d S # t          $ rK}t	          |          j        }| j                            d          }| d| d}t          |          |d }~ww xY w)Nr   .z% may only be set to path-like objects)setattrr   r   	TypeErrortyperk   removeprefix)r"   r   r   errcls_namer   r/   s          r#   __set__z_StrPathProperty.__set__   s    	*C+Xe__===== 	* 	* 	*Cyy-H%22377DKKKKKCC..c)		*s   #' 
A<AA77A<c                0    t          || j                   d S rQ   )delattrr   )r"   r   s     r#   
__delete__z_StrPathProperty.__delete__   s    T'(((((r%   )r   r|   )r   rF   r   r   r   r|   )r   r|   r   r|   r   r{   )r   rF   r   r   r   r   rQ   )r   r   r   r   r   r   )r   r   r   r   r   r|   )r   r   r   r|   )	ri   rj   rk   r   r   r	   r   r   r   r   r%   r#   r{   r{      s        % % % %( ( ( ( HHH XHJJJ XJ BF0 0 0 0 0* * * *) ) ) ) ) )r%   r{   )__doc__
__future__r   sysr   pathlibr   r   r   r   typingr   r	   sphinx.deprecationr
   r   	frozensetr   __dict__r*   rN   ri   r,   r   platformr   r{   r   r%   r#   <module>r      se    # " " " " " 



  : : : : : : : : : : : : * * * * * * * * 7 7 7 7 7 7 y&&TVV&
1  <73' 3' 3' 3' 3'; 3' 3' 3' 3'n3' 3' 3' 3' 3'9 3' 3' 3'l )  )  )  )  )  )  )  )  )  )r%   