o
    .hs                     @   s   d Z ddlmZ ddlmZmZ ddlmZmZmZ ddlm	Z	m
Z
 dd ZedZd	d
 Zdd ZedkrnddlZddlmZ ejejedZedeejedddZedeejedddZeej dS dS )z7
$Id: tzfile.py,v 1.8 2004/06/03 00:15:24 zenzen Exp $
    )datetime)unpackcalcsize)StaticTzInfo	DstTzInfomemorized_ttinfo)memorized_datetimememorized_timedeltac                 C   s
   |  dS )z5Cast a string or byte string to an ASCII byte string.ASCII)encodes r   J/var/www/supernova/superenvnew/lib/python3.10/site-packages/pytz/tzfile.py_byte_string   s   
r    c                 C   s   t | dS )z0Cast a string or byte string to an ASCII string.r
   )strdecoder   r   r   r   _std_string   s   r   c           !      C   sp  d}t |}t|||\}}}}}}	}
}|tdks$J dt| dt|	d|
 |d }t |}t|||}t|d|	 d|
  d	 ksKJ d
d |d |	 D }t||	d|	  }|d|	 d }|d }~g }i }d}|t|k r||d  }||vr|t	|}|dk rt|}t
||| ||< ||| t||d	  || f |d7 }|t|k syt|d	kst|dkr|d d |d d f t| tft| t|d d |d d d}| S d}|| d	 r|d	7 }|| d	 s|| ||d  krtj|d< n|dtj |d| g }tt|D ]}|||  }|d }|d	 s4d}nRt|d	 ddD ]}|||  }|d	 sK nq<|d |d  }|dks_|dkrt|d	 t|D ]}|||  }|d	 s|d |d  }|dkr nqh|d } t|d d d }t|d d d }|t|||  q t| tft| ||d}| S )Nz>4s c 15x 6lTZifzGot magic %sz2>%(timecnt)dl %(timecnt)dB %(ttinfo)s %(charcnt)dslBB)timecntttinfocharcnt         c                 S   s   g | ]}t |qS r   )r   ).0transr   r   r   
<listcomp>)   s    z build_tzinfo.<locals>.<listcomp>r   )zone
_utcoffset_tznamei0*     <   )r!   _utc_transition_times_transition_info)r   r   readr   reprdictlenlistfind_NULLr   appendbooltyper   r	   r   mininsertrangeintr   r   )!r!   fphead_fmt	head_sizemagicformat
ttisgmtcnt
ttisstdcntleapcntr   typecntr   data_fmt	data_sizedatatransitionslindexes
ttinfo_rawtznames_rawr   tznamesitzname_offsetnulclstransition_infoinf	utcoffsetdstjprev_infstdinftznamer   r   r   build_tzinfo   s   
 




6




rS   __main__N)pprintzoneinfozAustralia/Melbourne	Australia	Melbournerbz
US/EasternUSEastern)__doc__r   structr   r   pytz.tzinfor   r   r   r   r	   r   r.   r   rS   __name__os.pathosrU   pathjoindirname__file__baseopentzr&   r   r   r   r   <module>   s*    e