
    aneW                    f   d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddl	mZ er"dd	lmZ ej                  d
k\  rddlmZ nddlmZ d.dZ e       ZeZ	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d0dZ	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d1dZ	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d0dZ	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d1dZ	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d3dZ	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d3dZ	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d0dZ	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d3dZd4dZd4dZd4dZd4dZ d4dZ!d4dZ"	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d3dZ#	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d3dZ$	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d5dZ%	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d6dZ&	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d5dZ'	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d6d Z(	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d7d!Z)	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d7d"Z*	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 	 	 d5d#Z+	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d7d$Z,d8d%Z-d8d&Z.d8d'Z/d8d(Z0d8d)Z1d8d*Z2	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d7d+Z3	 	 	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 d7d,Z4g d-Z5y)9z
Utilities for determining application-specific dirs. See <https://github.com/platformdirs/platformdirs> for details and
usage.
    )annotationsN)TYPE_CHECKING   )PlatformDirsABC)__version__)__version_tuple__)Path)      )Literalc                 \   t         j                  dk(  rddlm}  n t         j                  dk(  rddlm}  nddlm}  t        j                  d      dk(  rYt        j                  d	      d
k(  rAt        j                  d      st        j                  d      r| S ddl
m}  |       ddl
m} |S | S )Nwin32r   )Windowsdarwin)MacOS)UnixANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIX)_android_folder)Android)sysplatformplatformdirs.windowsr   platformdirs.macosr   platformdirs.unixr   osgetenvplatformdirs.androidr   r   )Resultr   r   s      5lib/python3.12/site-packages/platformdirs/__init__.py_set_platform_dir_classr#      sy    
||w:		!64	yy G+		.0IY0V99W8!4M8(4NM    c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory tied to the user
    appname	appauthorversionroamingensure_exists)PlatformDirsuser_data_dirr&   s        r"   r-   r-   2   '     # mr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory shared by users
    r'   r(   r)   	multipathr+   )r,   site_data_dirr0   s        r"   r2   r2   J   s'     # mr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory tied to the user
    r&   )r,   user_config_dirr&   s        r"   r4   r4   b   '     # or$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory shared by the users
    r0   )r,   site_config_dirr0   s        r"   r7   r7   z   s'     # or$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r'   r(   r)   opinionr+   )r,   user_cache_dirr9   s        r"   r;   r;      '     # nr$   c                6    t        | ||||      j                  S a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r9   )r,   site_cache_dirr9   s        r"   r?   r?      r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state directory tied to the user
    r&   )r,   user_state_dirr&   s        r"   rA   rA      r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log directory tied to the user
    r9   )r,   user_log_dirr9   s        r"   rC   rC      s'     # lr$   c                 *    t               j                  S )z.:returns: documents directory tied to the user)r,   user_documents_dir r$   r"   rE   rE          >,,,r$   c                 *    t               j                  S )z.:returns: downloads directory tied to the user)r,   user_downloads_dirrF   r$   r"   rI   rI      rG   r$   c                 *    t               j                  S )z-:returns: pictures directory tied to the user)r,   user_pictures_dirrF   r$   r"   rK   rK          >+++r$   c                 *    t               j                  S )z+:returns: videos directory tied to the user)r,   user_videos_dirrF   r$   r"   rN   rN         >)))r$   c                 *    t               j                  S )z*:returns: music directory tied to the user)r,   user_music_dirrF   r$   r"   rQ   rQ     s    >(((r$   c                 *    t               j                  S )z,:returns: desktop directory tied to the user)r,   user_desktop_dirrF   r$   r"   rS   rS         >***r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory tied to the user
    r9   )r,   user_runtime_dirr9   s        r"   rV   rV     (     # r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory shared by users
    r9   )r,   site_runtime_dirr9   s        r"   rY   rY   (  rW   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path tied to the user
    r&   )r,   user_data_pathr&   s        r"   r[   r[   @  r<   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r0   )r,   site_data_pathr0   s        r"   r]   r]   X  s'     # nr$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path tied to the user
    r&   )r,   user_config_pathr&   s        r"   r_   r_   p  rW   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r0   )r,   site_config_pathr0   s        r"   ra   ra     s(     # r$   c                6    t        | ||||      j                  S r>   )r,   site_cache_pathr9   s        r"   rc   rc     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache path tied to the user
    r9   )r,   user_cache_pathr9   s        r"   re   re     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state path tied to the user
    r&   )r,   user_state_pathr&   s        r"   rg   rg     r5   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log path tied to the user
    r9   )r,   user_log_pathr9   s        r"   ri   ri     r.   r$   c                 *    t               j                  S )z):returns: documents path tied to the user)r,   user_documents_pathrF   r$   r"   rk   rk          >---r$   c                 *    t               j                  S )z):returns: downloads path tied to the user)r,   user_downloads_pathrF   r$   r"   rn   rn     rl   r$   c                 *    t               j                  S )z(:returns: pictures path tied to the user)r,   user_pictures_pathrF   r$   r"   rp   rp   
  rG   r$   c                 *    t               j                  S )z&:returns: videos path tied to the user)r,   user_videos_pathrF   r$   r"   rr   rr     rT   r$   c                 *    t               j                  S )z%:returns: music path tied to the user)r,   user_music_pathrF   r$   r"   rt   rt     rO   r$   c                 *    t               j                  S )z':returns: desktop path tied to the user)r,   user_desktop_pathrF   r$   r"   rv   rv     rL   r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path tied to the user
    r9   )r,   user_runtime_pathr9   s        r"   rx   rx     (     # r$   c                6    t        | ||||      j                  S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path shared by users
    r9   )r,   site_runtime_pathr9   s        r"   r{   r{   6  ry   r$   )%r   __version_info__r,   AppDirsr   r-   r4   r;   rA   rC   rE   rI   rK   rN   rQ   rS   rV   r2   r7   r?   rY   r[   r_   re   rg   ri   rk   rn   rp   rr   rt   rv   rx   r]   ra   rc   r{   )returnztype[PlatformDirsABC])NNNFF)r'   
str | Noner(   str | None | Literal[False]r)   r   r*   boolr+   r   r~   str)r'   r   r(   r   r)   r   r1   r   r+   r   r~   r   )NNNTF)r'   r   r(   r   r)   r   r:   r   r+   r   r~   r   )r~   r   )r'   r   r(   r   r)   r   r*   r   r+   r   r~   r	   )r'   r   r(   r   r)   r   r1   r   r+   r   r~   r	   )r'   r   r(   r   r)   r   r:   r   r+   r   r~   r	   )r~   r	   )6__doc__
__future__r   r   r   typingr   apir   r)   r   r   r|   pathlibr	   version_infor   typing_extensionsr#   r,   r}   r-   r2   r4   r7   r;   r?   rA   rC   rE   rI   rK   rN   rQ   rS   rV   rY   r[   r]   r_   ra   rc   re   rg   ri   rk   rn   rp   rr   rt   rv   rx   r{   __all__rF   r$   r"   <module>r      s   # 	 
       :
6!"-, '(
 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	2 -1*  	
  	0-
-
,
*
)
+ -1*  	
  	2 -1*  	
  	2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
2 -1*  	
  
0.
.
-
+
*
, -1*  	
  
2 -1*  	
  
0&r$   