+
    f7i  c                   s    R t ^ RIt^ RIt^ RIHtHt ^ RIt]P                  ! R	4      t. R
Ot. ROt	RR lt
R tR tR tR t]R8X  d6   ^ RIt^ RIt]P$                  ! ]P&                  ! 4       P(                  4       R# R# )zKfontTools.misc.timeTools.py -- tools for working with OpenType timestamps.
N)datetimetimezonec           
     s    V f   \         P                  ! 4       p \        V P                  ,          : R\        V P
                  ,          : RV P                  :R R\         P                  ! RV 4      : 2pV# )aX  
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
Z z>2z%H:%M:%S %Y)timeZ	localtimeDAYNAMESZtm_wday
MONTHNAMESZtm_monZtm_mdayZstrftime)tZss   & ?/usr/lib64/python3.14/site-packages/fontTools/misc/timeTools.pyasctimer      sV    $ 	yNN188			mQ'		A H    c           	      sj    \        \        P                  ! \        ^ V \        ,           4      4      4      # )    )r   r   ZgmtimeZmax
epoch_diffvalue   &r   timestampToStringr   ;   s"    4;;s1ej&89:;;r   c                 s   V R ,          P                  4       w  r\        P                  ! V R,          R4      pVP                  \        P                  V4      \        P                  R7      p\        P                  V4      pVP                  4       V8X  g   Q RV ,           R,           4       h\        VP                  4       4      \        ,
          # ):N   N:r   NNz %d %H:%M:%S %Y)ZmonthZtzinfoZ"z" has inconsistent weekday)Zsplitr    ZstrptimeZreplacer   Zindexr   Zutcr   ZweekdayintZ	timestampr
   )r   ZwkdayZmnthr   Z	wkday_idxs   &    r   timestampFromStringr   ?   s    )//#KE%)%67A			
((.x||	DAu%I99;)#OS5[3O%OO#q{{}
**r   c                  s    \         P                  P                  R 4      p V e   \        V 4      \        ,
          # \        \
        P
                  ! 4       \        ,
          4      # )ZSOURCE_DATE_EPOCH)osZenvironZgetr   r
   r   )Zsource_date_epochs    r   timestampNowr   H   sC    

':;$$%
22tyy{Z'((r   c                 s.    \        V \        ,
          4      # N)r   r
   r   r   r   timestampSinceEpochr   P   s    uz!""r   Z__main__)	ip     r   r	   r	   r	   r	   r	   r	   )ZMonZTueZWedZThuZFriZSatZSun)NZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecr   )Z__doc__r   r   r    r   ZcalendarZtimegmr
   r   r   r   r   r   r   r   Z__name__ZsysZdoctestZexitZtestmodZfailed) r   r   <module>r      s|    
  '  __;<
<
":<+)# zHHW__%%&	 r   