
    ]h                     d    d dl m Z mZ d dlmZ dZdZde defdZdedee    fd	Zd
edee    fdZ	y)    )datetimetimezone)Optionall     }*{Gi valuereturnc                 $    | j                  d      S )Nz%Y-%m-%dT%H:%M:%SZ)strftime)r   s    g/var/www/core.comfia.cic-ware.com/crm/lib/python3.12/site-packages/azure/storage/blob/_shared/parser.py_to_utc_datetimer      s    >>.//    rfc_1123c                 4    | syt        j                  | d      S )zConverts an RFC 1123 date string to a UTC datetime.

    :param str rfc_1123: The time and date in RFC 1123 format.
    :returns: The time and date in UTC datetime format.
    :rtype: datetime
    Nz%a, %d %b %Y %H:%M:%S %Z)r   strptime)r   s    r
   _rfc_1123_to_datetimer      s     X'ABBr   filetimec                     | sy	 t        |       }|dk(  ryt        j                  |t        z
  t        z  t
        j                        S # t        $ r Y t        |       S w xY w)a  Converts an MS filetime string to a UTC datetime. "0" indicates None.
    If parsing MS Filetime fails, tries RFC 1123 as backup.

    :param str filetime: The time and date in MS filetime format.
    :returns: The time and date in UTC datetime format.
    :rtype: datetime
    Nr   )tz)	intr   fromtimestampEPOCH_AS_FILETIMEHUNDREDS_OF_NANOSECONDSr   utc
ValueErrorr   )r   temp_filetimes     r
   _filetime_to_datetimer      sh     HA%%}7H'HLc&chphthtuu  !**	s   A	 2A	 		AAN)
r   r   typingr   r   r   strr   r   r    r   r
   <module>r      s_    ( & " 0H 0 0
CC 
CHX,> 
C+C +HX,> +r   