
    7Th                    @   % S SK Jr  S SKrS SKrS SKrS SKrS SKJr  0 rS\	S'   \R                  R                  \R                  R                  S5      S5      r\R                  R                  S\5      r\R                  4S	 jrS
 rSS jr\" \\5        \" \5        g)    )annotationsN)Anyzdict[str, dict[str, Any]]conf~z.config/fsspecFSSPEC_CONFIG_DIRc           	        / nU GH'  nUR                  S5      (       a  [        U5      S:  a  US   S:w  a  UR                  S5      S:  a  UR                  U5        MZ   [        R
                  " X   5      n[        U[        5      (       aE  UR                  SS5      u  pVU R                  UR                  5       0 5      R                  U5        M  [        R                  " SU S[        U5       35        M  UR                  S	5      (       d  GM  [        R                  " SU S
35        GM*     U HK  nUR                  SS5      u  pVnX   U R                  UR                  5       0 5      UR                  5       '   MM     g! [        R                  R                    a(  n[        R                  " SU SU 35         SnAGM  SnAff = f)a  Set config values from environment variables

Looks for variables of the form ``FSSPEC_<protocol>`` and
``FSSPEC_<protocol>_<kwarg>``. For ``FSSPEC_<protocol>`` the value is parsed
as a json dictionary and used to ``update`` the config of the
corresponding protocol. For ``FSSPEC_<protocol>_<kwarg>`` there is no
attempt to convert the string value, but the kwarg keys will be lower-cased.

The ``FSSPEC_<protocol>_<kwarg>`` variables are applied after the
``FSSPEC_<protocol>`` ones.

Parameters
----------
conf_dict : dict(str, dict)
    This dict will be mutated
envdict : dict-like(str, str)
    Source for the values - usually the real environment
FSSPEC_   _   zIgnoring environment variable z due to not being a dict: z due to a parse failure: NFSSPECz! due to having an unexpected name   )
startswithlencountappendjsonloads
isinstancedictsplit
setdefaultlowerupdatewarningswarntypedecoderJSONDecodeError)		conf_dictenvdict
kwarg_keyskeyvaluer   protoexkwargs	            E/var/www/auris/envauris/lib/python3.13/site-packages/fsspec/config.pyset_conf_envr)      s   & J>>)$$SA#a&C-yy~!!!#&

7<0 eT**"yya0HA((;BB5IMM8 > K=* ^^H%%MM05VW+ 2 ))C+%AH	U[[]B/> % <<// 4SE9RSURVW s    FG	!GG	c                   [         R                  R                  U 5      (       d  g[        [         R                  " U 5      5      nU GH.  nUR                  S5      (       a  [        R                  " 5       nUR                  [         R                  R                  X5      5        U H7  nUS:X  a  M  UR                  U0 5      R                  [        XE   5      5        M9     UR                  S5      (       d  M  [        [         R                  R                  X5      5       n[        R                  " U5      nSSS5        W H/  nUR                  U0 5      R                  [        Xu   5      5        M1     GM1     g! , (       d  f       NI= f)au  Set config values from files

Scans for INI and JSON files in the given dictionary, and uses their
contents to set the config. In case of repeated values, later values
win.

In the case of INI files, all values are strings, and these will not
be converted.

Parameters
----------
cdir : str
    Directory to search
conf_dict : dict(str, dict)
    This dict will be mutated
Nz.iniDEFAULTz.json)ospathisdirsortedlistdirendswithconfigparserConfigParserreadjoinr   r   r   openr   load)cdirr    allfilesfninir#   fjss           r(   set_conf_filesr>   @   s   " 77==bjj&'H;;v++-CHHRWW\\$+,)#$$S"-44T#(^D  ;;wbggll4,-YYq\ .$$S"-44T"']C   .-s   !E;;
F		c                   Uc  [         n[        U R                  [        [        45      (       a  U R                  OU R                  /n0 nU H  nXR;   d  M
  UR                  X%   5        M     UR
                  " S0 UD6  UnU$ )a  Supply default values for kwargs when instantiating class

Augments the passed kwargs, by finding entries in the config dict
which match the classes ``.protocol`` attribute (one or more str)

Parameters
----------
cls : file system implementation
kwargs : dict
conf_dict : dict of dict
    Typically this is the global configuration

Returns
-------
dict : the modified set of kwargs
 )r   r   protocoltuplelistr   )clskwargsr    protoskwr%   s         r(   apply_configrH   c   ss    " 	'udmDDS\\3<<.F	BIIi&' 
 IIFM    )N)
__future__r   r2   r   r,   r   typingr   r   __annotations__r-   r5   
expanduserdefault_conf_direnvirongetconf_dirr)   r>   rH   r@   rI   r(   <module>rR      s    "   	  "$ $77<< 2 23 79IJ ::>>-/?@ %'JJ /Nd DF> x  T rI   