o
    &zh²  ã                   @   sè   d Z dZzddlmZ W n ey&   ddlmZ ddlZe e¡Z[[Y nw ddlZdd„ Z		 i i fdd	„Z
d
d„ ZedkrrddlmZ i Zddd„ZddlmZ ddiZdZdZG dd„ dƒZeedƒƒ d dd„Zedƒ dS dS )!z3.3.0z.Apparently not used anywhere, purpose unknown!é    )Ú	tokenprog)ÚTokenNc                 C   s*   t  | |¡}|d u rt| |ƒ‚|| ¡ fS )N)r   ÚmatchÚ
ValueErrorÚend)ÚtextÚposr   © r	   úR/var/www/html/kangema/venv/lib/python3.10/site-packages/reportlab/lib/extformat.pyÚ_matchorfail   s   r   c                 C   sF  | }i }g }d}d}	 |  d|¡}|dk rnw||d  }	|	dkry| |||… ¡ |d d}}
|
rYt||ƒ\}}|jd \}}|||… }|dkrO|
d }
n|dkrW|
d }
|
s2d| }|d7 }t||d |d … ||ƒ||< | d	| ¡ n|d |	dk }| |||… ¡ |}q|t|ƒk rœ| ||d … ¡ d
 |¡| S )Nr   é   ú%ú(é   é   ú)z__superformat_%dz%%(%s)Ú )ÚfindÚappendr   ÚregsÚevalÚlenÚjoin)Ú_formatÚLÚGÚformatÚSÚchunksr   ÚnÚpcÚnextcharÚlevelr   ÚtstartÚtendÚtokenÚvnameÚncr	   r	   r
   Ú
dictformat   s:   
û ër(   c                 C   s   t  d¡}t| |j|jƒS )z<Evaluate and substitute the appropriate parts of the string.r   )ÚsysÚ	_getframer(   Úf_localsÚ	f_globals)r   Úframer	   r	   r
   Úmagicformat:   s   
r.   Ú__main__)ÚDecimalFormatterr   Ú.ú,c                 C   sJ   zt ||f }W || ƒS  ty$   t|||d }t ||f< Y || ƒS w )N)ÚplacesÚ
decimalSepÚthousandSep)Ú_DFÚKeyErrorr0   )r   ÚdpÚdsÚtsÚ_dfr	   r	   r
   ÚdfB   s   þþr<   )r.   Úabc)ÚabÚcg¸…ë€OAgÍÌÌÌÌÌS@c                   @   s   e Zd ZdZdS )Údingor   N)Ú__name__Ú
__module__Ú__qualname__Úar	   r	   r	   r
   r@   N   s    r@   zÐ
$%%(df(x,dp=3))s --> $%(df(x,dp=3))s
$%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s
%%(percent).2f%%%% --> %(percent).2f%%
%%(dingo.a)s --> %(dingo.a)s
%%(Z['abc'][0])s --> %(Z['abc'][0])s
r   c                 C   s   ddd„}|dƒ d S )Nr   c                 S   s   t tdƒƒ d S )Nzbb=%(bb)s Z=%(Z)r)Úprintr.   )Úbbr	   r	   r
   Úfunc1X   s   zfunc0.<locals>.func1ÚBB)r   r	   )ÚaarG   r	   r	   r
   Úfunc0W   s   
rJ   ÚAA)r   r1   r2   )r   )Ú__version__Ú__doc__Útokenizer   ÚImportErrorr   ÚreÚcompiler)   r   r(   r.   rA   Úreportlab.lib.formattersr0   r6   r<   Úreportlab.lib.extformatÚZÚxÚpercentr@   rE   rJ   r	   r	   r	   r
   Ú<module>   s8   
ü"

ä