§
    ¢”jº  ã                   óæ   — d Z ddlZddlZddlmZmZ ddlZ ej        d¦  «        Zg d¢Zg d¢Z	dd„Z
d„ Zd	„ Zd
„ Zd„ Zedk    r,ddlZddlZ ej         ej        ¦   «         j        ¦  «         dS dS )zKfontTools.misc.timeTools.py -- tools for working with OpenType timestamps.
é    N)ÚdatetimeÚtimezone)	ip  é   r   r   r   r   r   r   r   )ÚMonÚTueÚWedÚThuÚFriÚSatÚSun)NÚJanÚFebÚMarÚAprÚMayÚJunÚJulÚAugÚSepÚOctÚNovÚDecc           
      ó¼   — | €t          j        ¦   «         } t          | j                 ›dt          | j                 ›d| j        d›dt          j        d| ¦  «        ›�}|S )aˆ  
    Convert a tuple or struct_time representing a time as returned by gmtime()
    or localtime() to a 24-character string of the following form:

    >>> asctime(time.gmtime(0))
    'Thu Jan  1 00:00:00 1970'

    If t is not provided, the current time as returned by localtime() is used.
    Locale information is not used by asctime().

    This is meant to normalise the output of the built-in time.asctime() across
    different platforms and Python versions.
    In Python 3.x, the day of the month is right-justified, whereas on Windows
    Python 2.7 it is padded with zeros.

    See https://github.com/fonttools/fonttools/issues/455
    Nú z>2z%H:%M:%S %Y)ÚtimeÚ	localtimeÚDAYNAMESÚtm_wdayÚ
MONTHNAMESÚtm_monÚtm_mdayÚstrftime)ÚtÚss     úg/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/timeTools.pyÚasctimer&      sa   € ð$ 	€yÝŒNÑÔˆå�”ÔÐÐÝ�1”8ÔÐÐØ	Œ	ˆ	ˆ	ˆ	ÝŒ�m QÑ'Ô'Ð'ð		€Að €Hó    c           	      óp   — t          t          j        t          d| t          z   ¦  «        ¦  «        ¦  «        S )Nr   )r&   r   ÚgmtimeÚmaxÚ
epoch_diff©Úvalues    r%   ÚtimestampToStringr.   ;   s)   € Ý•4”;�s 1 e­jÑ&8Ñ9Ô9Ñ:Ô:Ñ;Ô;Ð;r'   c                 óÂ  — | d d…                               ¦   «         \  }}t          j        | dd …         d¦  «        }|                     t                               |¦  «        t          j        ¬¦  «        }t                               |¦  «        }| 	                    ¦   «         |k    sJ d| z   dz   ¦   «         ‚t          |                     ¦   «         ¦  «        t          z
  S )Né   z %d %H:%M:%S %Y)ÚmonthÚtzinfoú"z" has inconsistent weekday)Úsplitr   ÚstrptimeÚreplacer   Úindexr   Úutcr   ÚweekdayÚintÚ	timestampr+   )r-   ÚwkdayÚmnthr#   Ú	wkday_idxs        r%   ÚtimestampFromStringr?   ?   s´   € Ø˜˜˜”)—/’/Ñ#Ô#�K€Eˆ4ÝÔ˜%   œ)Ð%6Ñ7Ô7€AØ	�	Š	�
×(Ò(¨Ñ.Ô.µx´|ˆ	ÑDÔD€AÝ—’˜uÑ%Ô%€IØ�9Š9‰;Œ;˜)Ò#Ð#Ð# S¨5¡[Ð3OÑ%OÑ#Ô#Ð#Ýˆq�{Š{‰}Œ}ÑÔ¥
Ñ*Ð*r'   c                  óÂ   — t           j                             d¦  «        } | �t          | ¦  «        t          z
  S t          t          j        ¦   «         t          z
  ¦  «        S )NÚSOURCE_DATE_EPOCH)ÚosÚenvironÚgetr:   r+   r   )Úsource_date_epochs    r%   ÚtimestampNowrF   H   sJ   € åœ
ŸšÐ':Ñ;Ô;ÐØÐ$ÝÐ$Ñ%Ô%­
Ñ2Ð2Ý�tŒy‰{Œ{�ZÑ'Ñ(Ô(Ð(r'   c                 ó0   — t          | t          z
  ¦  «        S ©N)r:   r+   r,   s    r%   ÚtimestampSinceEpochrI   P   s   € Ýˆu•zÑ!Ñ"Ô"Ð"r'   Ú__main__rH   )Ú__doc__rB   r   r   r   ÚcalendarÚtimegmr+   r   r   r&   r.   r?   rF   rI   Ú__name__ÚsysÚdoctestÚexitÚtestmodÚfailed© r'   r%   ú<module>rU      s  ððð ð 
€	€	€	Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€ð ˆXŒ_Ð;Ñ<Ô<€
à<Ð<Ð<€ðð ð €
ð"ð ð ð ð:<ð <ð <ð+ð +ð +ð)ð )ð )ð#ð #ð #ð ˆzÒÐØ€J€J€JØ€N€N€Nà€C„Hˆ_ˆWŒ_ÑÔÔ%Ñ&Ô&Ð&Ð&Ð&ð	 Ðr'   