Ë
    xìqjæ  ã                   óˆ   — d Z ddlZddlZddlZddlmZ ddlmZmZ ddl	m
Z
 dadadeez  ddfd„Zdeez  ddfd	„Zdefd
„Zy)z.
Module for managing the PROJ data directory.
é    N)ÚPath)Ú_set_context_data_dirÚget_user_data_dir)ÚDataDirErrorÚproj_data_dirÚreturnc                 ó2   — t        | «      adat        «        y)z›
    Set the data directory for PROJ to use.

    Parameters
    ----------
    proj_data_dir: str | Path
        The path to the PROJ data directory.
    N)ÚstrÚ_USER_PROJ_DATAÚ_VALIDATED_PROJ_DATAr   ©r   s    úJ/var/www/html/truck-me/venv/lib/python3.12/site-packages/pyproj/datadir.pyÚset_data_dirr      s   € ô ˜-Ó(€OàÐô Õó    c                 óz   — t        t        j                  j                  t	        «       t        | «      g«      «       y)z¥
    Add an additional data directory for PROJ to use.

    Parameters
    ----------
    proj_data_dir: str | Path
        The path to the PROJ data directory.
    N)r   ÚosÚpathsepÚjoinÚget_data_dirr
   r   s    r   Úappend_data_dirr   )   s%   € ô ”—‘—‘¤,£.´#°mÓ2DÐ!EÓFÕGr   c                  óD  ‡— t         �t         S t        t        «      j                  «       j                  dz  dz  dz  } t
        j                  j                  dt
        j                  j                  dd«      «      }t        t        j                  dd«      }t        t        j                  ddd«      }d„ Šˆfd	„} |t        «      rt        a n½ ‰| «      rt        | «      a n© ||«      r|a nž ‰|«      rt        |«      a nŠ ‰|«      rt        |«      a nvt        j                  dt        j                  ¬
«      }|€t        j                  d«      }|�8t        |«      j                  j                  dz  dz  } ‰|«      rt        |«      a t         €t        d«      ‚t         S )aÃ  
    The order of preference for the data directory is:

    1. The one set by pyproj.datadir.set_data_dir (if exists & valid)
    2. The internal proj directory (if exists & valid)
    3. The directory in PROJ_DATA (PROJ 9.1+) | PROJ_LIB (PROJ<9.1) (if exists & valid)
    4. The directory on sys.prefix (if exists & valid)
    5. The directory on the PATH (if exists & valid)

    Returns
    -------
    str:
        The valid data directory.

    Úproj_dirÚshareÚprojÚ	PROJ_DATAÚPROJ_LIBÚ ÚLibraryc                 ó>   — | �t        | d«      j                  «       ryy)Nzproj.dbTF)r   Úexists)Úpotential_data_dirs    r   Úvalid_data_dirz$get_data_dir.<locals>.valid_data_dirN   s"   € àÐ*ÜÐ'¨Ó3×:Ñ:Ô<àØr   c                 óh   •— | €y| j                  t        j                  «      D ]  } ‰|«      sŒ y y )NFT)Úsplitr   r   )Úpotential_data_dirsr   r"   s     €r   Úvalid_data_dirsz%get_data_dir.<locals>.valid_data_dirsV   s:   ø€ ØÐ&ØØ0×6Ñ6´r·z±zÓBò 	ˆMÙ˜mÕ,Ùð	ð r   )Úpathz¬Valid PROJ data directory not found. Either set the path using the environmental variable PROJ_DATA (PROJ 9.1+) | PROJ_LIB (PROJ<9.1) or with `pyproj.datadir.set_data_dir`.)r   r   Ú__file__ÚabsoluteÚparentr   ÚenvironÚgetÚsysÚprefixr   r
   ÚshutilÚwhichr   )Úinternal_datadirÚproj_lib_dirsÚprefix_datadirÚconda_windows_prefix_datadirr&   Úproj_exeÚsystem_proj_dirr"   s          @r   r   r   5   si  ø€ ô$ Ð'Ü#Ð#ÜœH“~×.Ñ.Ó0×7Ñ7¸*ÑDÀwÑNÐQWÑWÐÜ—J‘J—N‘N ;´·
±
·±¸zÈ2Ó0NÓO€MÜœ#Ÿ*™* g¨vÓ6€NÜ#'¬¯
©
°I¸wÈÓ#OÐ òôñ ”Ô'Ü.ÑÙ	Ð(Ô	)Ü"Ð#3Ó4ÑÙ	˜Ô	'Ø,ÑÙ	˜Ô	'Ü" >Ó2ÑÙ	Ð4Ô	5Ü"Ð#?Ó@Ñä—<‘< ¬S¯Z©ZÔ8ˆØÐÜ—|‘| FÓ+ˆHØÐÜ" 8›n×3Ñ3×:Ñ:¸WÑDÀvÑMˆOÙ˜oÔ.Ü'*¨?Ó';Ð$äÐ#Üð2ó
ð 	
ô  Ðr   )Ú__doc__r   r/   r-   Úpathlibr   Úpyproj._contextr   r   Úpyproj.exceptionsr   r   r   r
   r   r   r   © r   r   ú<module>r<      sl   ðñó
 
Û Û 
Ý ÷õ +à€ØÐ ð  d¡
ð ¨tó ð(	H 3¨¡:ð 	H°$ó 	HðC �cô C r   