o
    &zh4                  
   @   sp  i Z i Zeed d Zdd lZeeddZ[eD ](Z	i Z
zede	 e
 e
d e e	< er2d ee	< W n ey@   d ee	< Y nw [
qer_ddlmZmZmZmZmZ ddlmZ dd	lmZ d
ev reedfddZdZdd Zdedv r~eZdd Zeed
< dev rdd Zeed< dev rdLddZeed< dev rdLddZeed< dev rd d! Z e ed< d"ev rd#d" Z!e!ed"< d$ev rd%d& Z"e"ed$< d'ev ri Z#e$d(D ]-Z%e%d)k se%d*krd+e% e#e%< qe%e&d,e&d-e&d.fv rd,e'e% e#e%< qe'e%e#e%< q[%d/d0 Z(e(ed'< d1ev rd2d3 Z)e)ed1< d4ev r(d5d6 Z*e*ed4< d7ev r6dMd9d:Z+e+ed7< e, Z-eD ]Z	e	e v rFe e	 nee	 Z.e.sSe/d;e	 e.e-e	< q;[	[.[-e0d<krdd l1Z1dd l2Z2d3d= Z4d>D ]C\Z5Z6d?D ]9Z7d@3dAdBdCe7 dDe4 fe6 Z8e7dEkrdFe8 Z8e9dGe7 dHe5  e$dID ]Z:e2;e1j<dJdKe8e5g qqxqrd S d S )NNz
        fp_str
        unicode2T1
        instanceStringWidthT1
        instanceStringWidthTTF
        asciiBase85Encode
        asciiBase85Decode
        escapePDF
        sameFrag
        calcChecksum
        add32
        hex32
            _rl_testingFzfrom _rl_accel import %s as ff)	isUnicodeisSeqrawBytesasNativeasBytes)log)unpackfp_strg      $@c                 C   s   || | S N )xr	   	_log_e_10r   r   Q/var/www/html/kangema/venv/lib/python3.10/site-packages/reportlab/lib/rl_accel.py<lambda>'   s    r   )z%.0fz%.1fz%.2fz%.3fz%.4fz%.5fz%.6fc                  G   s  t | dkrt| d r| d } g }|j}| D ]d}t|}|dkr&|d q|dkr,dp9ttddtt| d}t| | }|ret |}|r_|d8 }|| dkr]|| dkr\|d7 }n|sH|d| }||d dksrt |dkrt|py|dd  qd	|S )	zXconvert separate arguments (or single sequence arg) into space separated numeric strings   r   gHz>0   .N )
lenr   appendabsminmaxint_log_10_fp_fmtsjoin)asAisalnjr   r   r   
_py_fp_str)   s&    (.
r(   ,g      ?c                  G   s   t |  ddS )Nr)   r   )_FP_STRreplace)r    r   r   r   __py_fp_strB      r,   
unicode2T1c           	   
   C   s   g }|d |dd }}|j }d|v rd}| r~zt| r#| |}n| }|||f W |S  ty{ } zA|jdd \}}|rO||| d| |f |r^|t| || | n||j|j	||  f | |d } W Y d}~nd}~ww | s|S )zBreturn a list of (font,string) pairs representing the unicode textr   r   NzUCS-2UTF16      )
encNamer   encoder   UnicodeEncodeErrorargsextend_py_unicode2T1_notdefFont_notdefChar)	utextfontsRfontencr!   ei0ilr   r   r   r7   G   s2   
r7   instanceStringWidthT1utf8c                 C   s:   t |s	||}tdd t|| g| j D d | S )z&This is the "purist" approach to widthc                 s   s&    | ]\}}t t|jj|V  qd S r   )summapwidths__getitem__).0r   tr   r   r   	<genexpr>f   s   $ z,_py_instanceStringWidthT1.<locals>.<genexpr>MbP?)r   decoderD   r7   substitutionFontsselftextsizeencodingr   r   r   _py_instanceStringWidthT1c   s   (rS   instanceStringWidthTTFc                    sH   t |s||p	d}| jjj| jj d| t fdd|D  S )zCalculate text widthrC   rK   c                 3   s    | ]
}t | V  qd S r   )ord)rH   udwgr   r   rJ   p   s    z-_py_instanceStringWidthTTF.<locals>.<genexpr>)r   rL   face
charWidthsgetdefaultWidthrD   rN   r   rW   r   _py_instanceStringWidthTTFj   s
   
 r^   hex32c                 C   s   dt | d@  S )Nz0X%8.8X    )r   )r#   r   r   r   	_py_hex32t   r-   ra   add32c                 C   s   | | d@ S )zCalculate (x + y) modulo 2**32r`   r   )r   yr   r   r   rb   y   s   calcChecksumc                 C   sJ   t | } t| d@ r| dt| d@  d  } ttdt| d?  | d@ S )zCalculates TTF-style checksums   r1       z>%dlr0   r`   )r   r   rD   r
   )datar   r   r   _py_calcChecksum   s   $rh   	escapePDF          z\%03o\()c                 C   s:   g }| D ]}t |turt|}|t|  qd|S )N )typer   rU   r   _ESCAPEDICTr   )r!   rcr   r   r   _py_escapePDF   s   
ru   asciiBase85Encodec                 C   s  t | }tt| d\}}d| }| d| | |d }}g j}t|D ]}|d }	||	 }
||	d  }||	d  }||	d  }|rSt|
}
t|}t|}t|}|
dk rf|
d> |B d> |B d> |B }nd	|
 d
|  d|  | }|dkr}|d q%t|d\}}t|d\}}t|d\}}t|d\}}d| d|  d|  d|  | |ksJ d|t|d  |t|d  |t|d  |t|d  |t|d  q%|dkrb|dt| |rdnd 7 }|d }
|d }|d }|d }|rt|
}
t|}t|}t|}d	|
 d
|  d|  | }t|d\}}t|d\}}t|d\}}t|d\}}t|d t|d  t|d  t|d  t|d  }||d|d   |d d|jS )zEncodes input using ASCII-Base85 coding.

        This is a compact encoding used for binary data within
        a PDF file.  Four bytes of binary data become five bytes of
        ASCII.  This is the default method used for encoding images.r1   r   Nr   r0   re               rj   zU   鱄^	 9  dodgy code!!    rf   ~>rp   )	r   divmodr   r   rangerU   chrr   __self__)inputdoOrdwhole_word_countremainder_sizecutbodylastbitoutr#   offsetb1b2b3b4numtempc5c4c3c1c2lastwordr   r   r   _py_asciiBase85Encode   sf   
0
<r   asciiBase85Decodec                 C   s
  d t|  }|dd dksJ d|dd }|dd}tt|d\}}d| }|d	| ||d }}g j}t|D ]}|d }	t||	 d
 }
t||	d  d
 }t||	d  d
 }t||	d  d
 }t||	d  d
 }d|
 d|  d|  d|  | }t|d\}}t|d\}}t|d\}}|d| d|  d|  | ksJ d|t	| |t	| |t	| |t	| qB|d	kryt|dk r|d }t|dk st|d	 d
 }
t|d d
 }t|d d
 }t|d d
 }t|d d
 }d|
 | d | d | d |d|   }t|d\}}t|d\}}t|d\}}|d| d|  d|  | ksIJ d|dkrSt	|}n"|dkrat	|t	| }n|dkrst	|t	| t	| }nd}|| d |j
}t|ddS )zDecodes input using ASCII-Base85 coding.

        This is not normally used - Acrobat Reader decodes for you
        - but a round trip is essential for testing.rp   Nr   z+Invalid terminator for Ascii Base 85 Streamr{   z!!!!!   r   r   r   r0   re   r1   r}   r~   r   r|   rj   ry   rz   r   !)r   r   i i     latin1)r>   )r   r   splitr+   r   r   r   r   rU   r   r   r   )r   strippedr   r   r   r   r   r   r#   r   r   r   r   r   r   r   r   r   r   r   r   r   rs   r   r   r   _py_asciiBase85Decode   sd   $(
 *



r   sameFragfontNamefontSize	textColorriseus_lineslink	backColornobrc                    s`   | j }|j }d|v sd|v sd|v sd|v rdS |j |j fdd|D fdd|D kS )NcbDefn	lineBreakr   c                       g | ]} |qS r   r   rH   k)fgr   r   
<listcomp>A      z _py_sameFrag.<locals>.<listcomp>c                    r   r   r   r   )ggr   r   r   A  r   )__dict__r\   )r   rY   _cmpfdictgdictr   )r   r   r   _py_sameFrag;  s   $$r   z#function %s is not properly defined__main__zadd32 asciiBase85Decode asciiBase85Encode
                    calcChecksum escapePDF fp_str hex32
                    instanceStringWidthT1 instanceStringWidthTTF
                    sameFrag unicode2T1)	)z$instanceStringWidthTTF(font,text,10))zfont=TTFont('Vera','Vera.ttf')text='abcde fghi . jkl ; mno')z7instanceStringWidthT1(font,'abcde fghi . jkl ; mno',10))zCfonts=[getFont('Helvetica')]+getFont('Helvetica').substitutionFontszfont=fonts[0]r   )zescapePDF(text))u   text='abcdefghijkló')z!fp_str(1.23456,2.7891666,2,13,11)r   )zcalcChecksum(text))z.text=5*' abcdefgiijklMnoPQrstuvwxyz1234567890')zhex32(0x12345678)r   )zadd32(0x12345678,123456789)r   )zasciiBase85Encode(src))z-src=5*' abcdefgiijklMnoPQrstuvwxyz1234567890')zasciiBase85Decode(_85text))zD_85text=asciiBase85Encode(5*' abcdefgiijklMnoPQrstuvwxyz1234567890'))	_rl_accelzreportlab.lib.rl_accel;z0from reportlab.pdfbase.pdfmetrics import getFontz,from reportlab.pdfbase.ttfonts import TTFontzfrom z import r   z)import sys;sys.modules['_rl_accel']=None;ztiming r   r0   z-mtimeitz-s)rC   )r   )=_c_funcs	_py_funcslistfilterr   __all__	reportlabgetattrtestingfnDexecImportErrorreportlab.lib.utilsr   r   r   r   r   mathr	   structr
   r   r   r(   _fp_strr*   r,   r7   rS   r^   ra   rb   rh   rr   r   rt   rU   r   ru   r   r   r   globalsGr   RuntimeError__name__sys
subprocessr   funclistcmdxsmodnamer!   printr#   
check_call
executabler   r   r   r   <module>   s   



P
J



