§
    £”j—'  ã                   óÚ   — d Z dZddlZddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ g dfd	„Zd
dddœZddddœZd d„Zd d„Zd!d„Zd„ Zd„ Zd"d„Zd„ Zd„ Zd#d„Zd„ Z G d„ d¦  «        ZdS )$z3.3.0Ú é    N)ÚBytesIO)Ú	rl_config)ÚImageReaderÚ	isUnicode)ÚasciiBase85EncodeÚasciiBase85Decodeé<   c                 óˆ   — t          dt          | ¦  «        |¦  «        D ]"}|                     | |||z   …         ¦  «         Œ#|S ©Nr   )ÚrangeÚlenÚappend)ÚsrcÚdstÚ	chunkSizeÚis       úi/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/pdfbase/pdfutils.pyÚ_chunkerr      sJ   € Ý�1•S˜‘X”X˜iÑ(Ô(ð 'ð 'ˆØ�
Š
�3�q˜˜9™�}Ô%Ñ&Ô&Ð&Ð&Ø€Jó    ÚRGBÚCMYKÚG)r   r   ÚLé   é   é   Fc           	      óL  — dd l }t          | ¦  «        }|�-|                     |¦  «         |r|                     ¦   «         rd S |                     ¦   «         \  }}|                     ¦   «         }g }|j        }	 |	d¦  «          |	d|›d|›dt          |j                 ›d�¦  «          |	d¦  «         t          |¦  «        ||z  t          |j                 z  k    s
J d¦   «         ‚| 
                    |¦  «        }
t          |
¦  «        }t          ||¦  «          |	d	¦  «         |S )
Nr   ÚBIú/W ú /H ú /BPC 8 /CS /z /F [/A85 /Fl]ÚIDúWrong amount of data for imageÚEI)Úzlibr   r   Újpeg_fhÚgetSizeÚ
getRGBDataÚ_mode2csÚmoder   Ú	_mode2bppÚcompressr   r   )ÚfilenameÚIMGÚ
detectJpegr&   ÚimgÚimgwidthÚ	imgheightÚrawÚcoder   Ú
compressedÚencodeds               r   ÚmakeA85Imager8      s2  € Ø€K€K€KÝ
�hÑ
Ô
€CØ
€Ø�
Š
�3‰ŒˆØð 	˜#Ÿ+š+™-œ-ð 	Ø�4àŸ+š+™-œ-Ñ€HˆiØ
�.Š.Ñ
Ô
€Cà€DØŒ[€Fà
€Fˆ4�L„L€LØ
€F€F¸¸¸À9À9À9ÍXÐVYÔV^ÔM_ÐM_ÐM_Ð`ÑaÔaÐaØ
€Fˆ4�L„L€Låˆs‰8Œ8�x )Ñ+­I°c´hÔ,?Ñ?Ò?Ð?Ð?ÐAaÑ?Ô?Ð?Ø—’˜sÑ#Ô#€JÝ 
Ñ+Ô+€Gõ ˆW�TÑÔÐà
€Fˆ4�L„L€LØ€Kr   c           	      ó.  — dd l }t          | ¦  «        }|�-|                     |¦  «         |r|                     ¦   «         rd S |                     ¦   «         \  }}|                     ¦   «         }g }|j        }	 |	d¦  «          |	d|›d|›dt          |j                 ›d�¦  «          |	d¦  «         t          |¦  «        ||z  t          |j                 z  k    s
J d¦   «         ‚| 
                    |¦  «        }
t          |
|¦  «          |	d	¦  «         |S )
Nr   r   r    r!   r"   z	 /F [/Fl]r#   r$   r%   )r&   r   r   r'   r(   r)   r*   r+   r   r,   r-   r   )r.   r/   r0   r&   r1   r2   r3   r4   r5   r   r6   s              r   ÚmakeRawImager:   9   s%  € Ø€K€K€KÝ
�hÑ
Ô
€CØ
€Ø�
Š
�3‰ŒˆØð 	˜#Ÿ+š+™-œ-ð 	Ø�4àŸ+š+™-œ-Ñ€HˆiØ
�.Š.Ñ
Ô
€Cà€DØŒ[€Fà
€Fˆ4�L„L€LØ
€F€F°H°H°H¸i¸i¸iÍÐQTÔQYÔHZÐHZÐHZÐ[Ñ\Ô\Ð\Ø
€Fˆ4�L„L€Låˆs‰8Œ8�x )Ñ+­I°c´hÔ,?Ñ?Ò?Ð?Ð?ÐAaÑ?Ô?Ð?Ø—’˜sÑ#Ô#€Jõ ˆZ˜ÑÔÐà
€Fˆ4�L„L€LØ€Kr   c                 ó�  — t           j                             | ¦  «        d         t          j        rdpdz   }| |k    rit          | ¦  «        rHddlm} |r>t          d ||¦  «         	                    ¦   «          
                    d¦  «        ¦  «        S dS t          d| z  ¦  «        ‚t          j        rt          | |¦  «        }nt          | |¦  «        }|r|S t          |d¦  «        }|                     d                     |¦  «        dz   ¦  «         |                     ¦   «          t          j        rt'          d	|z  ¦  «         dS dS )
zHProcesses image as if for encoding, saves to a file with .a85 extension.r   ú.a85z.bin)Úopen_for_readNú
zNo such cached image %sÚwbzcached image as %s)ÚosÚpathÚsplitextr   ÚuseA85ÚcachedImageExistsÚreportlab.lib.utilsr=   ÚfilterÚreadÚsplitÚIOErrorr8   r:   ÚopenÚwriteÚjoinÚcloseÚverboseÚprint)r.   ÚreturnInMemoryr/   Ú
cachednamer=   r5   Úfs          r   ÚcacheImageFilerS   T   sX  € õ ”×!Ò! (Ñ+Ô+¨AÔ.µ)Ô2BÐ2MÀvÐ2WÐQWÑX€JØ�ÒÐÝ˜XÑ&Ô&ð 	@Ø9Ð9Ð9Ð9Ð9Ð9ØÐa¥f¨T°-°-À
Ñ2KÔ2K×2PÒ2PÑ2RÔ2R×2XÒ2XÐY_Ñ2`Ô2`Ñ&aÔ&aÐaÐaÐaåÐ3°hÑ>Ñ?Ô?Ð?åÔð 	.Ý ¨Ñ-Ô-ˆDˆDå ¨Ñ-Ô-ˆDØÐ& $˜;õ �˜DÑ!Ô!ˆØ	�Š�—’˜DÑ!Ô! &Ñ(Ñ)Ô)Ð)Ø	�Š‰	Œ	ˆ	ÝÔð 	5ÝÐ&¨Ñ3Ñ4Ô4Ð4Ð4Ð4ð	5ð 	5r   c                 óì   — ddl }t          | t          ¦  «        r|                      | ¦  «        }n| }|D ]?}t          |¦  «        rt          j        rt          d|z  ¦  «         Œ0t          |¦  «         Œ@dS )zòPreprocesses one or more image files.

    Accepts either a filespec ('C:\mydir\*.jpg') or a list
    of image filenames, crunches them all to save time.  Run this
    to save huge amounts of time when repeatedly building image
    documents.r   Nz#cached version of %s already exists)ÚglobÚ
isinstanceÚstrrD   r   rN   rO   rS   )ÚspecrU   Úfilelistr.   s       r   ÚpreProcessImagesrZ   m   s�   € ð €K€K€Kå�$•sÑÔð Ø—9’9˜T‘?”?ˆˆàˆàð %ð %ˆÝ˜XÑ&Ô&ð 	%ÝÔ ð HÝÐ;¸hÑFÑGÔGÐGøå˜8Ñ$Ô$Ð$Ð$ð%ð %r   c                 ó,  — t           j                             | ¦  «        d         t          j        rdpdz   }t           j                             |¦  «        r>t          j        | ¦  «        d         }t          j        |¦  «        d         }||k    rdS dS dS )z­Determines if a cached image already exists for a given file.

    Determines if a cached image exists which has the same name
    and equal or newer date to the given file.r   r<   Úbiné   r   )r@   rA   rB   r   rC   ÚisfileÚstat)r.   rQ   Úoriginal_dateÚcached_dates       r   rD   rD   „   s‰   € õ
 ”×!Ò! (Ñ+Ô+¨AÔ.µ)Ô2BÐ2MÀvÐ2VÐQVÑW€JÝ	„w‡~‚~�jÑ!Ô!ð 	åœ Ñ)Ô)¨!Ô,ˆÝ”g˜jÑ)Ô)¨!Ô,ˆØ˜;Ò&Ð&Ø�1à�1àˆqr   r>   ú c                 ó¦   — |                       d|¦  «                              d|¦  «                              d|¦  «                              ||¦  «        S )zzNormalizes different line end character(s).

    Ensures all instances of CR, LF and CRLF end up as
    the specified one.r>   úú
)Úreplace)ÚtextÚdesiredÚunlikelys      r   Ú_normalizeLineEndsrj   œ   sH   € ð ßŠW�V˜XÑ&Ô&ßŠW�T˜8Ñ$Ô$ßŠW�T˜8Ñ$Ô$ßŠW�X˜wÑ'Ô'ð	)r   c                 ó  — t          | ¦  «        r|                      d¦  «        } t          ¦   «         }|                     t	          j        | ¦  «        ¦  «         |                     d¦  «         |                     ¦   «         S )zÂEncodes input using ASCII-Hex coding.

    This is a verbose encoding used for binary data within
    a PDF file.  One byte binary becomes two bytes of ASCII.
    Helper function used by images.úutf-8ó   >)r   Úencoder   rK   ÚbinasciiÚb2a_hexÚgetvalue)ÚinputÚoutputs     r   Ú_AsciiHexEncodert   ¨   sm   € õ �ÑÔð &Ø—’˜WÑ%Ô%ˆÝ‰YŒY€FØ
‡L‚L•Ô! %Ñ(Ô(Ñ)Ô)Ð)Ø
‡L‚L�ÑÔÐØ�?Š?ÑÔÐr   c           	      ó”  ‡— t          | ¦  «        s|                      d¦  «        } d                     |                      ¦   «         ¦  «        Š‰d         dk    s
J d¦   «         ‚‰dd…         Št	          ‰¦  «        dz  dk    s
J d	¦   «         ‚d                     ˆfd
„t          dt	          ‰¦  «        d¦  «        D ¦   «         ¦  «        S )zeDecodes input using ASCII-Hex coding.

    Not used except to provide a test of the inverse function.rl   r   éÿÿÿÿú>z'Invalid terminator for Ascii Hex StreamNé   r   z(Ascii Hex stream has odd number of bytesc           
      ó`   •— g | ]*}t          t          ‰||d z   …         d¦  «        ¦  «        ‘Œ+S )rx   é   )ÚchrÚint)Ú.0r   Ústrippeds     €r   ú
<listcomp>z#_AsciiHexDecode.<locals>.<listcomp>Ã   s7   ø€ ÐSÐSÐS°Q•C�˜H Q q¨¡s UœO¨BÑ/Ô/Ñ0Ô0ÐSÐSÐSr   )r   ÚdecoderL   rH   r   r   )rr   r~   s    @r   Ú_AsciiHexDecoder�   ¶   sÉ   ø€ õ �UÑÔð &Ø—’˜WÑ%Ô%ˆØ�wŠw�u—{’{‘}”}Ñ%Ô%€HØ�BŒ<˜3ÒÐÐÐ IÑÔÐØ˜˜˜Œ}€HÝˆx‰=Œ=˜1Ñ Ò!Ð!Ð!Ð#MÑ!Ô!Ð!à�7Š7ÐSÐSÐSÐS½%ÀÅ#ÀhÁ-Ä-ÐPQÑ:RÔ:RÐSÑSÔSÑTÔTÐTr   c                 óR  — g }t          | ¦  «        }d}||z  }||k     r0|                     | |||z   …         ¦  «         |dz   }||z  }||k     °0t          |d         ¦  «        dk    r,|d         dd…         |d         d         |d         z   g|dd…<   d                     |¦  «        S )z>Wraps input at a given column size by inserting 
 characters.r   r   rv   éþÿÿÿNr>   )r   r   rL   )rr   Úcolumnsrs   Úlengthr   Úposs         r   Ú_wrapr‡   Å   s½   € à€FÝ�‰ZŒZ€FØ	€AØ
�A‰+€CØ
�Š,ˆ,Ø�Š�e˜C  G¡˜OÔ,Ñ-Ô-Ð-Ø�‰EˆØ˜‰kˆð �Š,ˆ,õ
 ˆ6�"Œ:�„˜ÒÐØ˜b”z # 2 #” v¨b¤z°"¤~°f¸R´jÑ'@ÐAˆˆrˆsˆs‰Ø�;Š;�vÑÔÐr   c                 ó°  — ddl }ddlm} g d¢}g d¢}g d¢}d}d}|�s¸|                     d|                      d	¦  «        ¦  «        }|d         d
k    �r}|                     d|                      d	¦  «        ¦  «        }|d         |v �r|                      dd	¦  «         |                     d|                      d	¦  «        ¦  «        }|d         dk    r |d¦  «        ‚|                     d|                      d¦  «        ¦  «        }	|	d         dz  |	d	         z   }
|                     d|                      d¦  «        ¦  «        }	|	d         dz  |	d	         z   }|                     d|                      d	¦  «        ¦  «        }	|	d         }||
||fS |d         dk    rº|                     d|                      d¦  «        ¦  «        }|d         dz  |d	         z   dz
  }|                      |¦  «        }|                     d|dd…         ¦  «        }	|                     d|dd…         ¦  «        }|d         dz  |d	         z   |	d         dz  |	d	         z   f}n||d         |v r |d|d         z  ¦  «        ‚|d         |vrT|                     d|                      d¦  «        ¦  «        }|                      |d         dz  |d	         z   dz
  d	¦  «         |�¯¶dS dS )z@Read width, height and number of components from open JPEG file.r   N)ÚPDFError)éÀ   éÁ   éÂ   )
éÐ   éÑ   éÒ   éÓ   éÔ   éÕ   éÖ   é×   éØ   r   )éÃ   éÅ   éÆ   éÇ   éÈ   éÉ   éÊ   éË   éÍ   éÎ   éÏ   )éH   r¡   ÚBr   éÿ   rx   r]   z#JPEG must have 8 bits per componentÚBBéà   é
   é   z#JPEG Unsupported JPEG marker: %0.2x)ÚstructÚreportlab.pdfbase.pdfdocr‰   ÚunpackrG   Úseek)Úimager¨   r‰   ÚvalidMarkersÚnoParamMarkersÚunsupportedMarkersÚdpiÚdoneÚxÚyÚheightÚwidthÚcolorÚns                 r   ÚreadJPEGInfor¸   ß   sù  € ð €M€M€MØ1Ð1Ð1Ð1Ð1Ð1ð &Ð%Ð%€Lð 	GÐFÐFð ð
 	MÐLÐLð ð €CØ€DØñ 7Ø�MŠM˜#˜uŸzšz¨!™}œ}Ñ-Ô-ˆØˆQŒ4�4Š<‰<Ø—’˜c 5§:¢:¨a¡=¤=Ñ1Ô1ˆAà�Œt�|Ð#Ñ#Ø—
’
˜1˜aÑ Ô Ð Ø—M’M # u§z¢z°!¡}¤}Ñ5Ô5�Ø�Q”4˜1’9�9Ø"˜(Ð#HÑIÔIÐIØ—M’M $¨¯
ª
°1©¬Ñ6Ô6�Ø˜Aœ$ !™) q¨¤tÑ+�Ø—M’M $¨¯
ª
°1©¬Ñ6Ô6�Ø˜Aœ$ !™) q¨¤tÑ+�Ø—M’M # u§z¢z°!¡}¤}Ñ5Ô5�Ø˜1œ�Ø˜f e¨SÐ0Ð0Ø�1”�t’�Ø—M’M $¨¯
ª
°1©¬Ñ6Ô6�Ø�q”T˜Q‘Y ! A¤$Ñ&¨Ñ*�Ø—J’J˜q‘M”M�Ø—M’M $¨¨"¨R¨%¬Ñ1Ô1�Ø—M’M $¨¨!¨B¨$¬Ñ0Ô0�Ø˜!œ˜a™ 1 Q¤4Ñ'¨¨1¬¨q©°!°A´$©Ð7��Ø�1”Ð+Ð+Ð+Ø�hÐDÀqÈÄtÑKÑLÔLÐLØ�1”˜^Ð+Ð+ð —M’M $¨¯
ª
°1©¬Ñ6Ô6�Ø—
’
˜Q˜qœT Q™Y¨!¨A¬$Ñ.°Ñ2°AÑ6Ô6Ð6ð= ñ 7ð 7ð 7ð 7ð 7r   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_fuscc                 ó€   — |s
J d¦   «         ‚|| _         t          |¦  «        | _        t          |¦  «        pd| _        d S )Nz'Argument k should be a non empty stringé   )Ú_kr   Ú_klenr|   Ú_n)ÚselfÚkr·   s      r   Ú__init__z_fusc.__init__  s@   € ØÐ;Ð;Ð;Ñ;Ô;Ð;ØˆŒÝ˜‘V”VˆŒ
Ý�a‘&”&�+˜AˆŒˆˆr   c                 ó  — |                       t          d                     t          t          |                      t          t          t          |¦  «        ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        | j        ¦  «        S ©Nr   )	Ú_fusc__rotater   rL   Úmapr{   Ú_fusc__fuscÚlistÚordr¿   ©rÀ   Úss     r   Úencryptz_fusc.encrypt  sZ   € Ø�}Š}Õ.¨r¯wªwµs½3¸t¿{º{Í4ÕPSÕTWÐXYÑPZÔPZÑK[ÔK[Ñ?\Ô?\Ñ7]Ô7]Ñ/^Ô/^Ñ_Ô_Ð`dÔ`gÑhÔhÐhr   c                 ó  — d                      t          t          |                      t	          t          t
          t          |                      || j         ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        S rÄ   )	rL   rÆ   r{   rÇ   rÈ   rÉ   r	   rÅ   r¿   rÊ   s     r   Údecryptz_fusc.decrypt  s[   € Ø�wŠw•s�3˜tŸ{š{­4µµCÕ8IÈ$Ï-Ê-ÐXYÐ[_Ô[bÐZbÑJcÔJcÑ8dÔ8dÑ0eÔ0eÑ+fÔ+fÑgÔgÑhÔhÑiÔiÐir   c                 óz   — t          |¦  «        }|dk     r||z   }||z  }|s|S || d …         |d ||z
  …         z   S r   )r   )rÀ   rË   r·   Úls       r   Ú__rotatez_fusc.__rotate!  sQ   € Ý�‰FŒFˆØˆQŠ3ˆ3�A�a‘C�Ø	ˆQ‰ˆØÐ˜�(Ø�!���Œv�a˜˜˜1™˜”g‰~Ðr   c                 óî   — t          |¦  «        }t          t          d„ |t          t          t          t	          || j        z  ¦  «        dz   | j        z  d |…         ¦  «        ¦  «        ¦  «        ¦  «        S )Nc                 ó   — | |z  S )N© )r²   r³   s     r   ú<lambda>z_fusc.__fusc.<locals>.<lambda>*  s
   €  A¨¡E€ r   r   )r   rÈ   rÆ   rÉ   r|   r¾   r½   )rÀ   rË   Úslens      r   Ú__fuscz_fusc.__fusc(  sf   € Ý�1‰vŒvˆÝ•CÐ)Ð)¨!­DµµS½3¸tÀDÄJ¹Ñ;OÔ;OÐPQÑ;QÐSWÔSZÑ:ZÐ\aÐ]aÐ\aÔ9bÑ1cÔ1cÑ,dÔ,dÑeÔeÑfÔfÐfr   N)Ú__name__Ú
__module__Ú__qualname__rÂ   rÌ   rÎ   rÅ   rÇ   rÔ   r   r   rº   rº     sj   € € € € € ðð ð ðið ið iðjð jð jðð ð ðgð gð gð gð gr   rº   )NF)r   N)r>   rb   )r
   )Ú__version__Ú__doc__r@   ro   Úior   Ú	reportlabr   rE   r   r   Úreportlab.lib.rl_accelr   r	   r   r*   r,   r8   r:   rS   rZ   rD   rj   rt   r�   r‡   r¸   rº   rÔ   r   r   ú<module>rà      s¡  ðð €Ø
€ð 
€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà "ð ð ð ð ð  ¨cÐ2Ð2€Ø˜a QÐ'Ð'€	ðð ð ð ð6ð ð ð ð65ð 5ð 5ð 5ð2%ð %ð %ð.ð ð ð0
)ð 
)ð 
)ð 
)ðð ð ðUð Uð Uðð ð ð ð437ð 37ð 37ðjgð gð gð gð gñ gô gð gð gð gr   