o
    Zh                     @   s   g Z d dlZd dlZd dlZd dlmZ d dlmZ d dlZej	dk r(dd Z
nej
Z
G dd dZG d	d
 d
eZG dd deZe Ze Ze ddg7 Z ejZeejZejZdejv ZejZe g d7 Z eZ	 eZdS )    N)Path)MappingProxyType)      c                 C   s   t tjdd| S )N   )maxsize)property	functools	lru_cache)func r   H/var/www/html/lang_env/lib/python3.10/site-packages/pypdfium2/version.pycached_property      r   c                   @   sd   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zedd Z	dd Z
g fddZedd ZdS )_abc_versionc                 C   sH   t | jd}t|}W d    n1 sw   Y  | | t|S )Nr)open_FILEjsonload_process_datar   )selfbufdatar   r   r   _data   s
   
z_abc_version._datac                 C   s   d S Nr   r   r   r   r   r   r      s   z_abc_version._process_datac                 C   s
   | j | S r   r   )r   attrr   r   r   __getattr__"   s   
z_abc_version.__getattr__c                 C   s   t d| d| d)Nz)Version class is immutable - assignment 'z = z' not allowed)AttributeError)r   namevaluer   r   r   __setattr__%      z_abc_version.__setattr__c                 C   s   | j S r   )versionr   r   r   r   __repr__(   s   z_abc_version.__repr__c                    s   t  fdd jD S )Nc                 3   s    | ]} j | V  qd S r   r   ).0kr&   r   r   	<genexpr>-   s    z'_abc_version.api_tag.<locals>.<genexpr>)tuple_TAG_FIELDSr&   r   r&   r   api_tag+   s   z_abc_version.api_tagc                 C   s   d dd | jD S )N.c                 s   s    | ]}t |V  qd S r   )str)r(   vr   r   r   r*   0   s    z*_abc_version._craft_tag.<locals>.<genexpr>)joinr-   r&   r   r   r   
_craft_tag/   r$   z_abc_version._craft_tagc                 C   sL   g }| j dkr|t| j t| jg7 }||7 }d}|r$|dd| 7 }|S )Nr    +r.   )Z	n_commitsr/   hashr1   )r   extraZ	local_verdescr   r   r   _craft_desc2   s   
z_abc_version._craft_descc                 C   s   | j | j S r   )tagr7   r&   r   r   r   r%   >   s   z_abc_version.versionN)__name__
__module____qualname__r   r   r   r   r#   r'   r-   r2   r8   r%   r   r   r   r   r      s    

r   c                   @   s6   e Zd Zeejd ZdZedd Z	edd Z
dS )_version_pypdfium2version.json)majorminorpatchc                 C   s&   |   }| jd ur|d| j 7 }|S )Nb)r2   beta)r   r9   r   r   r   r9   H   s   
z_version_pypdfium2.tagc                 C   sJ   g }| j r
|dg7 }| |}| jdkr|d| j 7 }| jr#|d7 }|S )Ndirtygit:z	@editable)rD   r8   Zdata_sourceis_editable)r   r6   r7   r   r   r   r7   O   s   


z_version_pypdfium2.descN)r:   r;   r<   r   __file__parentr   r,   r   r9   r7   r   r   r   r   r=   C   s    
r=   c                   @   s@   e Zd Zeejjd ZdZdd Z	e
dd Ze
dd Zd	S )
_version_pdfiumr>   )r?   r@   buildrA   c                 C   s   t |d |d< d S )Nflags)r+   r   r   r   r   r   d   r   z_version_pdfium._process_datac                 C   s   |   S r   )r2   r&   r   r   r   r9   g   s   z_version_pdfium.tagc                 C   s@   |   }| jr|dd| j 7 }| jdkr|d| j 7 }|S )Nz:{%s},zpdfium-binaries@)r8   rL   r1   origin)r   r7   r   r   r   r7   k   s   
z_version_pdfium.descN)r:   r;   r<   r   pypdfium2_rawrH   rI   r   r,   r   r   r9   r7   r   r   r   r   rJ   _   s    
rJ   PYPDFIUM_INFOPDFIUM_INFOZV8)V_PYPDFIUM2V_LIBPDFIUMV_LIBPDFIUM_FULLV_BUILDNAMEV_PDFIUM_IS_V8)__all__sysr   r	   pathlibr   typesr   rP   version_infor   r   r=   rJ   rQ   rR   r%   rS   r/   rK   rT   rO   rV   rL   rW   rU   r   r   r   r   <module>   s4   

-

'