o
    ØÜÓhá  ã                	   @   sH   d dl Z d dlmZmZ ddedeeeef  deeef fdd„ZdS )	é    N)ÚDictÚOptionalÚ
dotenv_strÚenvironÚreturnc           	      C   s
  i }t  dt j¡}|  ¡ D ]u}| ¡ }|r| d¡rq| |¡}|r‚| d¡}d}| d¡rq| d¡p4d}| ¡ }| d¡rC| d¡sM| d	¡rp| d	¡rp|dd
… }| 	dd¡ 	dd¡ 	dd¡ 	dd¡}| d¡rp| 	dd¡}n	|durz| 
|¡}|dur‚|||< q|S )z˜
    Parse a DOTENV-format string and return a dictionary of key-value pairs.
    Handles quoted values, comments, export keyword, and blank lines.
    aû  
        ^\s*
        (?:export[^\S\n]+)?               # optional export
        ([A-Za-z_][A-Za-z0-9_]*)          # key
        [^\S\n]*(=)?[^\S\n]*
        (                                 # value group
            (?:
                '(?:\\'|[^'])*'           # single-quoted value
                | \"(?:\\\"|[^\"])*\"     # double-quoted value
                | [^#\n\r]+?              # unquoted value
            )
        )?
        [^\S\n]*(?:\#.*)?$                # optional inline comment
    ú#é   Né   é   Ú ú"ú'éÿÿÿÿz\nÚ
z\tú	z\"z\\ú\z\$ú$)ÚreÚcompileÚVERBOSEÚ
splitlinesÚstripÚ
startswithÚmatchÚgroupÚendswithÚreplaceÚget)	r   r   ÚenvÚline_patternÚliner   ÚkeyÚvalÚraw_val© r$   úS/var/www/html/ai/venv/lib/python3.10/site-packages/huggingface_hub/utils/_dotenv.pyÚload_dotenv   s8   ñ


($
€
€r&   )N)r   Útypingr   r   Ústrr&   r$   r$   r$   r%   Ú<module>   s   0