
    d                     P    d dl Z d Zd Z G d d          Z G d de          ZdS )    Nc                 \   ddl m} |                     d          }d                    dg|d d         z             }|d         }	 |                    |                              |                              d          S # t          t          t          f$ r t          d|            w xY w)	Nr   )	resources/.ztzdata.zoneinforbzNo time zone found with key )	importlibr   splitjoinfilesjoinpathopenImportErrorFileNotFoundErrorUnicodeEncodeErrorZoneInfoNotFoundError)keyr   
componentspackage_nameresource_names        "lib/python3.11/zoneinfo/_common.pyload_tzdatar      s    ######3J88./*SbS/ABBLrNMJ|,,55mDDII$OOO*,>? J J J $$H3$H$HIIIJs   :B *B+c                 H    t                                          }|j        dk    rd}d}nld}d}|j        dz  |j        dz  z   |j        z   |j        dz  z   |j        z   |j        z   } 	                    |d           t                                          }|j        }|j        }|j        }|r]t          j        d| |                      ||z                      }t          j        d| d	                     |                    }	nd
}d
}	|r't           fdt          |          D              \  }
}}nd
}
d
}d
}i                      |          fdt          fd|D                       }|j        dk    r|j        |j        z   |j        dz  z   } 	                    |d                                d          }|dk    s
J |            d}                     d          x}dk    r ||z  }                     d          x}dk     |}nd }|	||
|||fS )N      l   q      >B c              3   h   K   | ],}t          j        d                     d                    V  -dS )z>lbbr    N)structunpackread).0ifobjs     r   	<genexpr>zload_data.<locals>.<genexpr>H   s9      JJafmFDIIaLL11JJJJJJ    c                     | vr5                     d|           }| |                                         | <   |          S )N    )finddecode)idxspan_end
abbr_chars	abbr_valss     r   get_abbrzload_data.<locals>.get_abbrV   sK     i!w44H'H5<<>>IcN~r,   c              3   .   K   | ]} |          V  d S )Nr#   )r(   r1   r5   s     r   r+   zload_data.<locals>.<genexpr>g   s+      223#222222r,            
r,   )_TZifHeader	from_fileversiontimecnttypecntcharcntleapcntisstdcntisutcntseekr%   r&   r'   ziprangetuple)r*   header	time_size	time_type
skip_bytesr>   r=   r?   trans_list_utc	trans_idxutcoffisdstabbrindabbrctz_bytestz_strr3   r4   r5   s   `                @@@r   	load_datarT      s   ""4((F~			 		
 NQnq !n nq ! o	
 n 	 			*a    &&t,,nGnGnG  $$$$dii)0C&D&D
 
 M.g...$))G2D2DEE			  !$JJJJ5>>JJJ"
ww  I7##J     " 2222'22222D
 ~^fo58KK
		*a   IIaLLEzzz1zzzIIaLL qU**MH IIaLL qU** nfeT6AAr,   c                   2    e Zd Zg dZd Zed             ZdS )r:   )r<   rB   rA   r@   r=   r>   r?   c                 b    t          | j        |d          D ]\  }}t          | ||           d S )NT)strict)rD   	__slots__setattr)selfargsattrvals       r   __init__z_TZifHeader.__init__   sE    T^T$??? 	% 	%ID#D$$$$$	% 	%r,   c                 <   |                     d          dk    rt          d          |                     d          }|dk    rd}nt          |          }|                     d           |f}|t          j        d|                     d                    z   } | | S )	Nr   s   TZifz"Invalid TZif file: magic not foundr   r.      z>6l   )r'   
ValueErrorintr%   r&   )clsstream_versionr<   r[   s        r   r;   z_TZifHeader.from_file   s     ;;q>>W$$ABBB;;q>>wGG(mmGBz fmE6;;r??;;;sDzr,   N)__name__
__module____qualname__rX   r^   classmethodr;   r#   r,   r   r:   r:      sO          I% % %   [  r,   r:   c                       e Zd ZdZdS )r   z2Exception raised when a ZoneInfo key is not found.N)rg   rh   ri   __doc__r#   r,   r   r   r      s        <<<<r,   r   )r%   r   rT   r:   KeyErrorr   r#   r,   r   <module>rn      s    J J J.aB aB aBH! ! ! ! ! ! ! !H= = = = =H = = = = =r,   