Ë
    µ2ÚiÙ›  ã                   ó"  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlZd dlmZ d dlZd dlmZmZmZ d dlmZmZmZmZ d dlmZ d dlmZmZ d d	l m!Z! d d
l"m#Z# d dl$m%Z%  ejL                  e'«      Z(d„ Z)dZ*de*z  Z+dZ,de,z  Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2 G d„ de3«      Z4 G d„ d«      Z5 ejl                  d«      d„ «       Z7 G d„ de«      Z8 G d„ de«      Z9eZ:ejv                   G d„ d e«      «       Z< G d!„ d"«      Z=y)#é    N)ÚBytesIO)ÚTemporaryDirectory)ÚImage)Ú_apiÚcbookÚfont_manager)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)ÚMixedModeRenderer)Ú_create_pdf_info_dictÚ_datetime_to_pdf)ÚPath)ÚFigure)ÚGcfc            
      ó&  — ddt         j                  d   g} t         j                  d   dk7  r¥| j                  d«       t         j                  d   r�g d¢}g d	¢}t        ||«      D ]j  \  }}t	        j
                  t        j                  |«      «      }| j                  d
|›d|j                  ›d|j                  j                  «       ›d�«       Œl | j                  t         j                  j                  dd¬«      «       dj                  | «      S )z=Prepare a LaTeX preamble based on the rcParams configuration.z\def\mathdefault#1{#1}z4\everymath=\expandafter{\the\everymath\displaystyle}zpgf.preambleúpgf.texsystemÚpdflatexz\usepackage{fontspec}zpgf.rcfonts)Úserifzsans\-serifÚ	monospace)ÚsetmainfontÚsetsansfontÚsetmonofontú\ú{z}[Path=\detokenize{z/}]Ú
underscoreÚstrings)Úoptionú
)ÚmplÚrcParamsÚappendÚzipÚpathlibr   ÚfmÚfindfontÚnameÚparentÚas_posixÚ
texmanagerÚ_usepackage_if_not_loadedÚjoin)ÚpreambleÚfamiliesÚcommandsÚfamilyÚcommandÚpaths         úV/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/backends/backend_pgf.pyÚ_get_preambler5   #   së   € ð
 	"à?ä�‰�^Ñ$ð€Hô ‡|�|�OÑ$¨
Ò2Ø�‰Ð0Ô1Ü�<‰<˜Ò&Ú=ˆHÚDˆHÜ#& x°Ó#:ò A‘�˜ô —|‘|¤B§K¡K°Ó$7Ó8�Ø—’Ú˜TŸY›Y¨¯©×(<Ñ(<Õ(>ð!@õ Að	Að ‡O�O”C—N‘N×<Ñ<Ø˜Yð =ó (ô )à�9‰9�XÓÐó    gRh�¸’VŒ?ç      ð?gÇqÇqŒ?c                 ó&   — | j                  dd«      S )zh
    Do some necessary and/or useful substitutions for texts to be included in
    LaTeX documents.
    u   âˆ’z\ensuremath{-})Úreplace)Útexts    r4   Ú_tex_escaper;   F   s   € ð
 �<‰<Ð(Ð*;Ó<Ð<r6   c                 óH   — | j                  |«       | j                  d«       y )Nz%
)Úwrite)ÚfhÚlines     r4   Ú_writelnr@   N   s   € ð ‡H�HˆT„NØ‡H�HˆU…Or6   c                 ó¬  ‡— g }dddddœ}|j                  «       d   Š‰|v r|j                  |‰   «       nmt        ˆfd„t        j                  j
                  D «       «      r+t        j                  d   dk7  r|j                  d	‰z  «       nt        j                  d
‰«       |j                  «       }|j                  d||dz  fz  «       ddddœ}|j                  ||j                  «          «       g d¢}|j                  «       |v r|j                  d«       |j                  d«       ddj                  |«      z   dz   dz   t        | «      z   dz   S )zƒ
    Generate a TeX string that renders string *s* with font properties *prop*,
    also applying any required escapes to *s*.
    z	\rmfamilyz	\sffamilyz	\ttfamily)r   Úsansz
sans-serifr   r   c              3   ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­w©N)r(   )Ú.0Úfontr1   s     €r4   ú	<genexpr>z*_escape_and_apply_props.<locals>.<genexpr>a   s   øè ø€ ÒE dˆd�i‰i˜6Õ!ÑEùs   ƒr   r   z\setmainfont{%s}\rmfamilyzIgnoring unknown font: %sz\fontsize{%f}{%f}g333333ó?Ú z\itshapez\slshape)ÚnormalÚitalicÚoblique)ÚsemiboldÚdemiboldÚdemiÚboldÚheavyz
extra boldÚblackz	\bfseriesz\selectfontr   z1\catcode`\^=\active\def^{\ifmmode\sp\else\^{}\fi}z\catcode`\%=\active\def%{\%}ú})Ú
get_familyr#   Úanyr&   ÚfontManagerÚttflistr!   r"   Ú_logÚwarningÚget_size_in_pointsÚ	get_styleÚ
get_weightr-   r;   )ÚsÚpropr0   r/   ÚsizeÚstylesÚ
boldstylesr1   s          @r4   Ú_escape_and_apply_propsra   U   sN  ø€ ð
 €Hà%¨|Ø*¸ñG€Hà�_‰_Ó˜qÑ!€FØ�ÑØ�‰˜ Ñ(Õ)Ü
ÓE¬b¯n©n×.DÑ.DÔEÔ
EÜ�l‰l˜?Ñ+¨zÒ9Ø�‰Ð4°vÑ=Õ>ä�‰Ð0°&Ô9à×"Ñ"Ó$€DØ‡O�OÐ(¨D°$¸±*Ð+=Ñ=Ô>à {¸{ÑK€FØ‡O�O�F˜4Ÿ>™>Ó+Ñ,Ô-ò)€Jà‡�Ó˜JÑ&Ø�‰˜Ô%à‡O�O�NÔ#àØ
�'‰'�(Ó
ñ	à
>ñ	?ð *ñ	*ô �a‹.ñ	ð ñ	ð
r6   c                 ó¶   — t        |t        j                  «      rt        |«      }n,| dk(  r|j                  j	                  d«      }nt        |«      }| › d|› d�S )z;Convert metadata key/value to a form that hyperref accepts.ÚTrappedÚasciiz={rR   )Ú
isinstanceÚdatetimer   r(   ÚdecodeÚstr)ÚkeyÚvalues     r4   Ú_metadata_to_strrk   €   sT   € ä�%œ×*Ñ*Ô+Ü  Ó'‰Ø	�	Ò	Ø—
‘
×!Ñ! 'Ó*‰ä�E“
ˆØˆU�#�e�W˜BÐÐr6   c                  óä   ‡ — 	 t        j                  d«       d„ S # t         j                  $ r Y nw xY w	 t        j                  d«      Š ˆ fd„S # t         j                  $ r Y t        d«      ‚w xY w)z9Return a function that converts a pdf file to a png file.Ú
pdftocairoc                 ó¢   — t        j                  dddddd|z  | t        j                  j	                  |«      d   gt         j
                  ¬«      S )	Nrm   z-singlefilez-transpz-pngz-rz%dr   ©Ústderr)Ú
subprocessÚcheck_outputÚosr3   ÚsplitextÚSTDOUT)ÚpdffileÚpngfileÚdpis      r4   ú<lambda>z+make_pdf_to_png_converter.<locals>.<lambda>’   sI   € ¬Z×-DÑ-DØ˜=¨)°V¸TÀ4È#Á:Ø”b—g‘g×&Ñ& wÓ/°Ñ2ð4ä×$Ñ$ô.&€ r6   Úgsc                 óŠ   •— t        j                  ‰j                  ddddddddd	d
d|z  d|z  | gt         j                  ¬«      S )Nz-dQUIETz-dSAFERz-dBATCHz	-dNOPAUSEz
-dNOPROMPTz-dUseCIEColorz-dTextAlphaBits=4z-dGraphicsAlphaBits=4z-dDOINTERPOLATEz-sDEVICE=pngalphaz-sOutputFile=%sz-r%dro   )rq   rr   Ú
executableru   )rv   rw   rx   Úgs_infos      €r4   ry   z+make_pdf_to_png_converter.<locals>.<lambda>›   sV   ø€ ¬Z×-DÑ-DØ×ÑØ˜	 9¨k¸<ØÐ1Ø$Ð&7Ø Ð"3°gÑ"=Ø�c‰\˜7ð$ô ×$Ñ$ô.&€ r6   z&No suitable pdf to png renderer found.)r!   Ú_get_executable_infoÚExecutableNotFoundErrorÚRuntimeError)r}   s   @r4   Úmake_pdf_to_png_converterr�   ‹   s�   ø€ ð&Ü× Ñ  Ô.ñ&ð 	&øô ×&Ñ&ò Ùðúð&Ü×*Ñ*¨4Ó0ˆó&ð 	&øô ×&Ñ&ò Øô Ð?Ó
@Ð@ðús   ƒ ›1°1µA ÁA/Á.A/c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )Ú
LatexErrorc                 ó2   •— t         ‰| �  |«       || _        y rD   )ÚsuperÚ__init__Úlatex_output)ÚselfÚmessager‡   Ú	__class__s      €r4   r†   zLatexError.__init__§   s   ø€ Ü‰Ñ˜Ô!Ø(ˆÕr6   c                 ó^   — | j                   \  }| j                  r|d| j                  z   z  }|S ©Nr    )Úargsr‡   ©rˆ   r\   s     r4   Ú__str__zLatexError.__str__«   s0   € Ø�Y‰Y‰ˆØ×ÒØ�˜×)Ñ)Ñ)Ñ)ˆAØˆr6   )rH   )Ú__name__Ú
__module__Ú__qualname__r†   r�   Ú__classcell__©rŠ   s   @r4   rƒ   rƒ   ¦   s   ø„ õ)ör6   rƒ   c                   óš   — e Zd ZdZed„ «       Zed„ «       Ze ej                  d«      d„ «       «       Z
d„ Zd„ Zd„ Zd	„ Zd
dœd„Zd„ Zd„ Zy)ÚLatexManagerzÛ
    The LatexManager opens an instance of the LaTeX application for
    determining the metrics of text elements. The LaTeX environment can be
    modified by setting fonts and/or a custom preamble in `.rcParams`.
    c                  ól   — ddt         j                  d   › �dt        «       ddg} dj                  | «      S )Nz\documentclass{article}z% !TeX program = r   z\usepackage{graphicx}ú\begin{document}z!\typeout{pgf_backend_query_start}r    )r!   r"   r5   r-   )Úlatex_headers    r4   Ú_build_latex_headerz LatexManager._build_latex_header¹   sC   € ð 'ð !¤§¡¨oÑ!>Ð ?Ð@à$Ü‹OØØ0ð

ˆð �y‰y˜Ó&Ð&r6   c                 ó@   — | j                  | j                  «       «      S )z„
        Return the previous LatexManager if the header and tex system did not
        change, or a new instance otherwise.
        )Ú_get_cached_or_new_implrš   )Úclss    r4   Ú_get_cached_or_newzLatexManager._get_cached_or_newÈ   s   € ð ×*Ñ*¨3×+BÑ+BÓ+DÓEÐEr6   é   c                 ó   —  | «       S rD   © )r�   Úheaders     r4   rœ   z$LatexManager._get_cached_or_new_implÐ   s   € ñ ‹uˆr6   c                 ó  — | j                   €| j                  «        | j                   j                  j                  |«       | j                   j                  j                  d«       | j                   j                  j	                  «        y rŒ   )ÚlatexÚ_setup_latex_processÚstdinr=   ÚflushrŽ   s     r4   Ú_stdin_writelnzLatexManager._stdin_writelnÕ   s^   € Ø�:‰:ÐØ×%Ñ%Ô'Ø�
‰
×Ñ×Ñ˜qÔ!Ø�
‰
×Ñ×Ñ˜tÔ$Ø�
‰
×Ñ×ÑÕ r6   c                 óP  — t        |«      }g }	 | j                  j                  j                  d«      }|j	                  |«       |t        |«       d  |k(  rn?|s<| j                  j                  «        d | _        t        ddj                  |«      «      ‚Œˆdj                  |«      S )NrŸ   zLaTeX process haltedrH   )	Úlistr¤   ÚstdoutÚreadr#   ÚlenÚkillrƒ   r-   )rˆ   r\   ÚcharsÚcs       r4   Ú_expectzLatexManager._expectÜ   s’   € Ü�‹GˆØˆØØ—
‘
×!Ñ!×&Ñ& qÓ)ˆAØ�L‰L˜ŒOØ”c˜!“f�W�Xˆ !Ò#ØÙØ—
‘
—‘Ô!Ø!�”
Ü Ð!7¸¿¹À»ÓHÐHð ð �w‰w�u‹~Ðr6   c                 ó$   — | j                  d«      S )Nz
*)r±   ©rˆ   s    r4   Ú_expect_promptzLatexManager._expect_promptê   s   € Ø�|‰|˜EÓ"Ð"r6   c                 óØ  — t        «       | _        | j                  j                  | _        t	        j
                  | | j                  j                  «      | _        | j                  d¬«       | j                  j                  d«      \  }}| j                  j                  dk7  rt        d| j                  «       › �|«      ‚d | _	        t        j                  | j                   «      | _        y )NF©Úexpect_replyz
\makeatletter\@@end
r   zaLaTeX errored (probably missing font or error in preamble) while processing the following input:
)r   Ú_tmpdirr(   ÚtmpdirÚweakrefÚfinalizeÚcleanupÚ_finalize_tmpdirr¥   r¤   ÚcommunicateÚ
returncoderƒ   rš   Ú	functoolsÚ	lru_cacheÚ_get_box_metrics)rˆ   r«   rp   s      r4   r†   zLatexManager.__init__í   sÇ   € ä)Ó+ˆŒØ—l‘l×'Ñ'ˆŒÜ '× 0Ñ 0°°t·|±|×7KÑ7KÓ LˆÔð 	×!Ñ!¨uÐ!Ô5ØŸ™×/Ñ/Ð0KÓL‰ˆ�Ø�:‰:× Ñ  AÒ%Üð:à×+Ñ+Ó-Ð.ð0ð ó	ð ð
 ˆŒ
ä )× 3Ñ 3°D×4IÑ4IÓ JˆÕr6   Tr¶   c                óH  — 	 t        j                  t        j                  d   dgt         j                  t         j                  d| j
                  ¬«      | _        d„ }t        j                  | || j                  «      | _        | j                  | j                  «       «       |r"| j                  d«       | j!                  «        y y # t        $ r%}t        t        j                  d   ›d�«      |‚d }~wt        $ r%}t        dt        j                  d   ›�«      |‚d }~ww xY w)	Nr   ú-halt-on-errorúutf-8)r¦   r«   ÚencodingÚcwdz] not found; install it or change rcParams['pgf.texsystem'] to an available TeX implementationzError starting c                 óD   — | j                  «        | j                  «        y rD   )r®   r¾   )r¤   s    r4   Úfinalize_latexz9LatexManager._setup_latex_process.<locals>.finalize_latex  s   € Ø�J‰JŒLØ×ÑÕr6   z*pgf_backend_query_start)rq   ÚPopenr!   r"   ÚPIPEr¹   r¤   ÚFileNotFoundErrorr€   ÚOSErrorrº   r»   Ú_finalize_latexr¨   rš   r±   r´   )rˆ   r·   ÚerrrÉ   s       r4   r¥   z!LatexManager._setup_latex_process   s  € ð
	NÜ#×)Ñ)Ü—‘˜oÑ.Ð0@ÐAÜ —o‘o¬j¯o©oØ  d§k¡kô3ˆDŒJò	 ô  '×/Ñ/Ø�. $§*¡*ó .ˆÔð 	×Ñ˜D×4Ñ4Ó6Ô7ÙØ�L‰LÐ3Ô4Ø×ÑÕ!ð øô# !ò 	ÜÜ—<‘< Ñ0Ð3ð 4Oð Póð ðûô ò 	NÜØ!¤#§,¡,¨Ñ"?Ð!BÐCóEØJMðNûð	Nús$   ‚AC Ã	D!Ã C0Ã0D!Ã< DÄD!c                 ó8   — | j                  t        ||«      «      S )z‡
        Get the width, total height, and descent (in TeX points) for a text
        typeset by the current LaTeX environment.
        )rÂ   ra   )rˆ   r:   r]   s      r4   Úget_width_height_descentz%LatexManager.get_width_height_descent  s   € ð
 ×$Ñ$Ô%<¸TÀ4Ó%HÓIÐIr6   c                 óÆ  — | j                  d|z  «       	 | j                  «       }	 |j                  «       d   j                  d«      \  }}}t        |dd «      t        |dd «      t        |dd «      }	}}|||	z   |	fS # t        $ r+}t        dj	                  ||j
                  «      «      |‚d}~ww xY w# t        $ r!}t        dj	                  ||«      «      |‚d}~ww xY w)zŽ
        Get the width, total height and descent (in TeX points) for a TeX
        command's output in the current LaTeX environment.
        zW{\catcode`\^=\active\catcode`\%%=\active\sbox0{%s}\typeout{\the\wd0,\the\ht0,\the\dp0}}z#Error measuring {}
LaTeX Output:
{}Néýÿÿÿú,éþÿÿÿ)
r¨   r´   rƒ   Ú
ValueErrorÚformatr‡   Ú
splitlinesÚsplitÚ	ExceptionÚfloat)
rˆ   ÚtexÚanswerrÏ   ÚwidthÚheightÚoffsetÚwÚhÚos
             r4   rÂ   zLatexManager._get_box_metrics&  s  € ð 	×Ñð5àñô	ð	FØ×(Ñ(Ó*ˆFð	<ð %+×$5Ñ$5Ó$7¸Ñ$;×$AÑ$AÀ#Ó$FÑ!ˆE�6˜6ô ˜˜c˜r˜
Ó#¤U¨6°#°2¨;Ó%7¼¸vÀcÀr¸{Ó9Kˆaˆ1ˆð �!�a‘%˜ˆ{Ðøô ò 	Fô ÐDß$™f S¨#×*:Ñ*:Ó;ó=ØBEðFûð	Fûô ò 	<ÜÐDß$™f S¨&Ó1ó3Ø8;ð<ûð	<ús.   –A? §&B6 Á?	B3Â&B.Â.B3Â6	C Â?CÃC N)r�   r‘   r’   Ú__doc__Ústaticmethodrš   Úclassmethodrž   rÀ   rÁ   rœ   r¨   r±   r´   r†   r¥   rÑ   rÂ   r¡   r6   r4   r–   r–   ²   s„   „ ñð ñ'ó ð'ð ñFó ðFð Ø€Y×Ñ˜Óñó ó ðò!òò#òKð& 48ô "ò>Jór6   r–   rŸ   c                  ó  — t         j                  «       } | j                  dt        j                  d«      j                  «       z  «       	 | j                  «        y# t        $ r! t         j                  j                  «        Y yw xY w)Nz&\includegraphics[interpolate=true]{%s}zimages/matplotlib.pngz\includegraphicsz	\pgfimage)
r–   rž   r¨   r   Ú_get_data_pathr*   r´   rƒ   rœ   Úcache_clear)Úmans    r4   Ú_get_image_inclusion_commandrë   F  sx   € ä
×
)Ñ
)Ó
+€CØ×ÑØ1ä
×
Ñ
Ð6Ó
7×
@Ñ
@Ó
Bñ	CôDðØ×ÑÔØ"øÜò ä×,Ñ,×8Ñ8Ô:Ùðús   ÁA Á'BÂBc                   óŒ   ‡ — e Zd Zˆ fd„Z	 dd„Zdd„Zd„ Zd„ Zdd„Zdd„Z	d	„ Z
d
„ Zdd„Zddœd„Zdd„Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚRendererPgfc                 ón   •— t         ‰| �  «        |j                  | _        || _        || _        d| _        y)a–  
        Create a new PGF renderer that translates any drawing instruction
        into text commands to be interpreted in a latex pgfpicture environment.

        Attributes
        ----------
        figure : `~matplotlib.figure.Figure`
            Matplotlib figure to initialize height, width and dpi from.
        fh : file-like
            File handle for the output of the drawing commands.
        r   N)r…   r†   rx   r>   ÚfigureÚimage_counter)rˆ   rï   r>   rŠ   s      €r4   r†   zRendererPgf.__init__X  s1   ø€ ô 	‰ÑÔØ—:‘:ˆŒØˆŒØˆŒØˆÕr6   Nc                 óP  — t        | j                  d«       d| j                  z  }| j                  |«       | j	                  ||«       |j                  |«      j                  «       \  }}	|d   |z  |d   |z  |	d   |z  |	d   |z  f}
t        | j                  d|
z  «       | j                  d ||«       | j                  |j                  «       dk7  |d u¬«       t        | j                  d«       d	| j                  z  }| | ||f}|j                  |d
|¬«      D ]r  \  }}|d   |z  |d   |z  }}t        | j                  d«       t        | j                  d||fz  «       t        | j                  d«       t        | j                  d«       Œt t        | j                  d«       y )Nú\begin{pgfscope}r7   r   rŸ   zQ\pgfsys@defobject{currentmarker}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{ç        ©ÚstrokeÚfillrR   ç†B^!Vl@F)ÚsimplifyÚclipú"\pgfsys@transformshift{%fin}{%fin}z"\pgfsys@useobject{currentmarker}{}ú\end{pgfscope})r@   r>   rx   Ú_print_pgf_clipÚ_print_pgf_path_stylesÚget_extentsÚ
get_pointsÚ_print_pgf_pathÚ_pgf_path_drawÚget_linewidthÚiter_segments)rˆ   ÚgcÚmarker_pathÚmarker_transr3   ÚtransÚrgbFaceÚfÚblÚtrÚcoordsÚmaxcoordrù   ÚpointÚcodeÚxÚys                    r4   Údraw_markerszRendererPgf.draw_markersk  sµ  € ô 	�—‘Ð-Ô.ð �—‘‰Mˆð 	×Ñ˜RÔ Ø×#Ñ# B¨Ô0ð ×(Ñ(¨Ó6×AÑAÓC‰ˆˆBØ�A‘˜‘˜B˜q™E A™I r¨!¡u¨q¡y°"°Q±%¸!±)Ð;ˆÜ�—‘ðFØHNñOô	Pð 	×Ñ˜T ;°Ô=Ø×Ñ 2×#3Ñ#3Ó#5¸Ñ#<Ø!(°Ð!4ð 	ô 	6ä�—‘˜$Ôà  4§8¡8Ñ+ˆØ�	˜H˜9 h°Ð9ˆð  ×-Ñ-¨e¸eØ37ð .ó 9ò 	1‰KˆE�4à˜‘8˜a‘<  q¡¨A¡ˆqˆAÜ�T—W‘WÐ1Ô2Ü�T—W‘WÐCÀqÈ!ÀfÑLÔMÜ�T—W‘WÐCÔDÜ�T—W‘WÐ/Õ0ð	1ô 	�—‘Ð+Õ,r6   c                 ó*  — t        | j                  d«       | j                  |«       | j                  ||«       | j	                  ||||«       | j                  |j                  «       dk7  |d u¬«       t        | j                  d«       |j                  «       �ryt        | j                  d«       | j                  ||«       | j                  |«       | j	                  ||||«       t        | j                  d«       t        | j                  d«       t        | j                  d«       t        | j                  d«       t        | j                  d«       t        j                  j                  «       j                  | j                  «      }| j	                  d |j                  «       |«       | j                  d¬	«       t        | j                  d«       t        | j                  d
«       d| j                  z  }|j                  |«      j                  «       \  \  }}\  }	}
||z  ||	z  }	}||z  ||
z  }
}t!        j"                  |	|z
  «      t!        j"                  |
|z
  «      }}t        | j                  d||fz  «       t%        |«      D ]m  }t%        |«      D ].  }t        | j                  d«       t        | j                  d«       Œ0 t        | j                  d|z  «       t        | j                  d«       Œo t        | j                  d«       y y )Nrò   ró   rô   rû   ú\pgfusepath{clip}zN\pgfsys@defobject{currentpattern}{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}{z=\pgfpathrectangle{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}T)rõ   rR   r7   rú   z#\pgfsys@useobject{currentpattern}{}z \pgfsys@transformshift{1in}{0in}z"\pgfsys@transformshift{-%din}{0in}z \pgfsys@transformshift{0in}{1in})r@   r>   rü   rý   r   r  r  Ú	get_hatchr!   Ú
transformsÚAffine2DÚscalerx   Úget_hatch_pathrþ   rÿ   ÚmathÚceilÚrange)rˆ   r  r3   Ú	transformr  r  r	  ÚxminÚyminÚxmaxÚymaxÚrepxÚrepyÚiyÚixs                  r4   Ú	draw_pathzRendererPgf.draw_path‘  s«  € ä�—‘Ð-Ô.à×Ñ˜RÔ Ø×#Ñ# B¨Ô0Ø×Ñ˜R  y°'Ô:Ø×Ñ 2×#3Ñ#3Ó#5¸Ñ#<Ø!(°Ð!4ð 	ô 	6ä�—‘Ð+Ô,ð �<‰<�>Ü�T—W‘WÐ1Ô2Ø×'Ñ'¨¨GÔ4ð × Ñ  Ô$Ø× Ñ   T¨9°gÔ>Ü�T—W‘WÐ2Ô3ô �T—W‘WðFôGô �T—W‘WÐ1Ô2Ü�T—W‘WðEôFô �T—W‘WÐ2Ô3Ü—N‘N×+Ñ+Ó-×3Ñ3°D·H±HÓ=ˆEØ× Ñ   r×'8Ñ'8Ó':¸EÔBØ×Ñ tÐÔ,Ü�T—W‘WÐ/Ô0Ü�T—W‘W˜dÔ#à�T—X‘X‘ˆAà× Ñ  Ó+×6Ñ6Ó8ñ '‰LˆT�4™,˜4 à˜T™ 1 t¡8�$ˆDØ˜T™ 1 t¡8�$ˆDÜŸ™ 4¨$¡;Ó/´·±¸4À$¹;Ó1G�$ˆDÜ�T—W‘WØ:¸dÀD¸\ÑIôKä˜D“kò G�Ü ›+ò K�BÜ˜TŸW™WÐ&LÔMÜ˜TŸW™WÐ&IÕJðKô ˜Ÿ™Ð"GÈ$Ñ"NÔOÜ˜Ÿ™Ð"EÕFðGô �T—W‘WÐ/Õ0ðO r6   c                 óˆ  — d| j                   z  }|j                  «       }|rb|j                  «       \  }}||z
  \  }}|d   |z  |d   |z  ||z  ||z  f}t        | j                  d|z  «       t        | j                  d«       |j                  «       \  }	}
|	�*| j                  ||	|
«       t        | j                  d«       y y )Nr7   r   rŸ   zA\pgfpathrectangle{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}r  )rx   Úget_clip_rectanglerÿ   r@   r>   Úget_clip_pathr   )rˆ   r  r	  ÚbboxÚp1Úp2rá   râ   r  ÚclippathÚclippath_transs              r4   rü   zRendererPgf._print_pgf_clipÆ  sÑ   € Ø�—‘‰Mˆà×$Ñ$Ó&ˆÙØ—_‘_Ó&‰FˆB�Ø˜‘7‰DˆAˆqØ˜‘U˜Q‘Y  1¡¨¡	¨1¨q©5°!°a±%Ð7ˆFÜ�T—W‘WðIàñôô �T—W‘WÐ2Ô3ð $&×#3Ñ#3Ó#5Ñ ˆ�.ØÐØ× Ñ   X¨~Ô>Ü�T—W‘WÐ2Õ3ð  r6   c           	      óü  — ddddœ}t        | j                  ||j                  «          «       ddddœ}t        | j                  ||j                  «          «       |d u}|j	                  «       r|j                  «       x}}n*|j                  «       d	   }|rt        |«      d	kD  r|d	   nd
}|r;t        | j                  dt        |d d	 «      z  «       t        | j                  d«       |r|d
k7  rt        | j                  d|z  «       |j                  «       t        z  t        z  }|j                  «       }	t        | j                  d|z  «       t        | j                  d|	d d	 z  «       t        | j                  d«       |d
k7  rt        | j                  d|z  «       |j                  «       \  }
}|€t        | j                  d«       y t        | j                  ddj                  d„ |D «       «      |
fz  «       y )Nz\pgfsetbuttcapz\pgfsetroundcapz\pgfsetrectcap)ÚbuttÚroundÚ
projectingz\pgfsetmiterjoinz\pgfsetroundjoinz\pgfsetbeveljoin)Úmiterr1  Úbevelé   r7   z(\definecolor{currentfill}{rgb}{%f,%f,%f}z\pgfsetfillcolor{currentfill}ú\pgfsetfillopacity{%f}z\pgfsetlinewidth{%fpt}z*\definecolor{currentstroke}{rgb}{%f,%f,%f}z!\pgfsetstrokecolor{currentstroke}ú\pgfsetstrokeopacity{%f}z\pgfsetdash{}{0pt}z\pgfsetdash{%s}{%fpt}rH   c              3   ó&   K  — | ]	  }d |z  –— Œ y­w)z{%fpt}Nr¡   )rE   Údashs     r4   rG   z5RendererPgf._print_pgf_path_styles.<locals>.<genexpr>
  s   è ø€ ÒG°T 	¨DÕ 0ÑGùs   ‚)r@   r>   Úget_capstyleÚget_joinstyleÚget_forced_alphaÚ	get_alphaÚget_rgbr­   Útupler  Úmpl_pt_to_inÚlatex_in_to_ptÚ
get_dashesr-   )rˆ   r  r  Ú	capstylesÚ
joinstylesÚhas_fillÚfillopacityÚstrokeopacityÚlwÚstroke_rgbaÚdash_offsetÚ	dash_lists               r4   rý   z"RendererPgf._print_pgf_path_stylesÚ  sß  € à.Ø0Ø#4ñ6ˆ	ô 	�—‘˜) B§O¡OÓ$5Ñ6Ô7ð  3Ø2Ø2ñ4ˆ
ô 	�—‘˜* R×%5Ñ%5Ó%7Ñ8Ô9ð  $Ð&ˆà×ÑÔ Ø*,¯,©,«.Ð8ˆK™-àŸJ™J›L¨™OˆMÙ(0´S¸³\ÀAÒ5E˜' !š*È3ˆKáÜ�T—W‘WØ@Ü˜W R a˜[Ó)ñ*ô+ô �T—W‘WÐ>Ô?Ù˜ sÒ*Ü�T—W‘WÐ7¸+ÑEÔFð ×ÑÓ¤,Ñ.´Ñ?ˆØ—j‘j“lˆÜ�—‘Ð3°bÑ8Ô9Ü�—‘Ø>Ø˜r �?ñ#ô	$ô 	�—‘Ð>Ô?Ø˜CÒÜ�T—W‘WÐ9¸MÑIÔJð "$§¡£Ñˆ�YØÐÜ�T—W‘WÐ3Õ4ä�T—W‘WØ-ØŸ™ÑG¸YÔGÓGØ#ð%ñ%õ&r6   c                 óv  — d| j                   z  }|r|j                  «       nd }d| j                   z  }|rR|€P|j                  «       \  }}	t        |d   | «      t        |d   | «      t	        |	d   |«      t	        |	d   |«      f}
n| | ||f}
|j                  ||
¬«      D �]`  \  }}|t        j                  k(  r0t        |«      \  }}t        | j                  d||z  ||z  fz  «       ŒJ|t        j                  k(  rt        | j                  d«       Œt|t        j                  k(  r0t        |«      \  }}t        | j                  d||z  ||z  fz  «       Œ·|t        j                  k(  r=t        |«      \  }}}}||z  ||z  ||z  ||z  f}t        | j                  d	|z  «       �Œ|t        j                  k(  s�Œt        |«      \  }}}}}}||z  ||z  ||z  ||z  ||z  ||z  f}t        | j                  d
|z  «       �Œc |r|j                  «       nd }|�ž|\  }}}|�•|dz  }|dz  }t        | j                  d«       t        | j                  d«       t        | j                  d||z  d›d||z  d›d�«       t        | j                  dt!        |«      › d�«       t        | j                  d«       y y y )Nr7   r÷   r   rŸ   )rù   z&\pgfpathmoveto{\pgfqpoint{%fin}{%fin}}z\pgfpathclosez&\pgfpathlineto{\pgfqpoint{%fin}{%fin}}zH\pgfpathquadraticcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}zW\pgfpathcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}g      à?é   z\usepgfmodule{decorations}z(\usepgflibrary{decorations.pathmorphing}z/\pgfkeys{/pgf/decoration/.cd, segment length = r	  zin, amplitude = zin}z\pgfmathsetseed{rR   z%\pgfdecoratecurrentpath{random steps})rx   r(  rÿ   ÚmaxÚminr  r   ÚMOVETOr?  r@   r>   Ú	CLOSEPOLYÚLINETOÚCURVE3ÚCURVE4Úget_sketch_paramsÚint)rˆ   r  r3   r  r  r	  r*  r  r+  r,  rù   Úpointsr  r  r  ÚcxÚcyÚpxÚpyr  Úc1xÚc1yÚc2xÚc2yÚsketch_paramsr  ÚlengthÚ
randomnesss                               r4   r   zRendererPgf._print_pgf_path  sè  € Ø�—‘‰Mˆá*,ˆr×$Ñ$Ô&°$ˆØ  4§8¡8Ñ+ˆÙ�W�_Ø—_‘_Ó&‰FˆB�Ü˜˜1™ ˜yÓ)¬3¨r°!©u°x°iÓ+@Ü˜˜1™˜xÓ(¬#¨b°©e°XÓ*>ð@‰Dð �I ˜y¨(°HÐ=ˆDà ×.Ñ.¨y¸tÐ.ÓDó 	#‰LˆF�DØ”t—{‘{Ò"Ü˜V“}‘��1Ü˜Ÿ™ØBØ˜a™%  Q¡˜ñ(õ)ð œŸ™Ò'Ü˜Ÿ™Ð"2Õ3ØœŸ™Ò$Ü˜V“}‘��1Ü˜Ÿ™ØBØ˜a™%  Q¡˜ñ(õ)ð œŸ™Ò$Ü!& v£‘��B˜˜BØ˜a™  a¡¨¨a©°°a±Ð7�Ü˜Ÿ™ðMà!ñ"ö#ð œŸ™Ô$Ü-2°6«]Ñ*��S˜#˜s B¨Ø˜q™ #¨¡'¨3°©7°C¸!±G¸RÀ!¹VÀRÈ!ÁVÐK�Ü˜Ÿ™ð5ð "ñ	"ö#ð/	#ñ> 35˜×,Ñ,Ô.¸$ˆØÐ$ð )6Ñ%ˆE�6˜:ØÐ à˜#‘�Ø˜‘
�ä˜Ÿ™Ð"?Ô@Ü˜Ÿ™Ð"MÔNÜ˜Ÿ™ð #-Ø.4°q©j¸!Ð,<ð =(Ø).°©°A °dð#<ô =ô ˜Ÿ™Ð$6´s¸:³Ð6GÀrÐ"JÔKÜ˜Ÿ™Ð"JÕKð !ð %r6   c                 ó¤   — g }|r|j                  d«       |r|j                  d«       t        | j                  ddj                  |«      z  «       y )Nrõ   rö   z\pgfusepath{%s}rÔ   )r#   r@   r>   r-   )rˆ   rõ   rö   Úactionss       r4   r  zRendererPgf._pgf_path_drawO  sB   € ØˆÙØ�N‰N˜8Ô$ÙØ�N‰N˜6Ô"Ü�—‘Ð,¨s¯x©x¸Ó/@Ñ@ÕAr6   c                  ó   — y)NTr¡   r³   s    r4   Úoption_scale_imagezRendererPgf.option_scale_imageW  s   € àr6   c                 ó*   — t         j                  d    S )Nzimage.composite_image)r!   r"   r³   s    r4   Úoption_image_nocompositez$RendererPgf.option_image_nocomposite[  s   € ä—<‘<Ð 7Ñ8Ð8Ð8r6   c                 ó  — |j                   d d \  }}|dk(  s|dk(  ry t        j                  j                  t	        | j
                  dd«      «      st        d«      ‚t        j                  | j
                  j                  «      }d|j                  | j                  fz  }	t        j                  |d d d…   «      j                  |j                  |	z  «       | xj                  dz  c_        t!        | j
                  d	«       | j#                  |«       d
| j$                  z  }
|€,t!        | j
                  d||
z  ||
z  fz  «       ||
z  ||
z  }}n`|j'                  «       j)                  «       \  }}}}}}t!        | j
                  d||
z  ||
z  ||
z  ||
z  ||z   |
z  ||z   |
z  fz  «       dx}}t+        |d u «      j-                  «       }t!        | j
                  dt/        «       ||||	fz  «       t!        | j
                  d«       y )NrM  r   r(   rH   zXstreamed pgf-code does not support raster graphics, consider using the pgf-to-pdf optionz%s-img%d.pngéÿÿÿÿrŸ   rò   r7   rú   z/\pgfsys@transformcm{%f}{%f}{%f}{%f}{%fin}{%fin}zD\pgftext[left,bottom]{%s[interpolate=%s,width=%fin,height=%fin]{%s}}rû   )Úshapers   r3   ÚexistsÚgetattrr>   rÖ   r%   r   r(   Ústemrð   r   Ú	fromarrayÚsaver)   r@   rü   rx   ÚfrozenÚ	to_valuesrh   Úlowerrë   )rˆ   r  r  r  Úimr  râ   rá   r3   Ú	fname_imgr	  Útr1Útr2Útr3Útr4Útr5Útr6Úinterps                     r4   Ú
draw_imagezRendererPgf.draw_image_  sô  € ð �x‰x˜˜ˆ|‰ˆˆ1Ø�Š6�Q˜!’VØä�w‰w�~‰~œg d§g¡g¨v°rÓ:Ô;Üð.ó/ð /ô
 �|‰|˜DŸG™GŸL™LÓ)ˆØ" d§i¡i°×1CÑ1CÐ%DÑDˆ	Ü�‰˜™4˜R˜4™Ó!×&Ñ& t§{¡{°YÑ'>Ô?Ø×Ò˜aÑÕô 	�—‘Ð-Ô.Ø×Ñ˜RÔ Ø�—‘‰MˆØÐÜ�T—W‘WØ:¸aÀ!¹eÀQÈÁU¸^ÑKôMà�q‘5˜!˜a™%ˆq‰Aà+4×+;Ñ+;Ó+=×+GÑ+GÓ+IÑ(ˆC��c˜3  SÜ�T—W‘WØGØ˜A‘g˜s Q™w¨¨a©°°q±Ø˜Q‘w !‘m c¨A¡g°¡]ð4ñ4ô5ð ˆIˆA�Ü�Y $Ð&Ó'×-Ñ-Ó/ˆÜ�—‘ðDä.Ó0Ø˜!˜Q 	ð+ñ+ô	,ô
 	�—‘Ð+Õ,r6   )Úmtextc          
      ó6   — | j                  ||||||d|¬«       y )NÚTeX)Úismathr~  )Ú	draw_text)rˆ   r  r  r  r\   r]   Úangler~  s           r4   Údraw_texzRendererPgf.draw_texˆ  s   € à�‰�r˜1˜a  D¨%¸ÀUˆÕKr6   c	                 óR  — t        ||«      }t        | j                  d«       | j                  |«       |j	                  «       }	|	dk7  r2t        | j                  d|	z  «       t        | j                  d|	z  «       t        |j                  «       «      d d }
t        | j                  d|
z  «       t        | j                  d«       t        | j                  d«       d	|z   }| j                  j                  }g }|r²|d
k(  s|j                  «       dk(  rš|j                  «       dk7  r‡|j                  «       }|j                  «       j                  |«      \  }}ddddœ}dddddœ}|j                  d||z  d›d�d||z  d›d�||j                  «          ||j                  «          g«       n |j!                  d||z  d›d||z  d›d�«       |d
k7  r|j!                  d|z  «       t        | j                  ddj#                  |«      ›d|›d�«       t        | j                  d «       y )!Nrò   r7   r6  r7  r5  z&\definecolor{textcolor}{rgb}{%f,%f,%f}z\pgfsetstrokecolor{textcolor}z\pgfsetfillcolor{textcolor}z\color{textcolor}r   ÚanchorÚcenter_baselineÚleftÚrightrH   )rˆ  r‰  ÚcenterÚtopÚbottomÚbase)r‹  rŒ  ÚbaselinerŠ  zx=r	  Úinzy=zin, y=zin, left, basez	rotate=%fz	\pgftext[rÔ   z]{rR   rû   )ra   r@   r>   rü   r=  r?  r>  rï   rx   Úget_rotation_modeÚget_verticalalignmentÚget_unitless_positionÚget_transformr  ÚextendÚget_horizontalalignmentr#   r-   )rˆ   r  r  r  r\   r]   rƒ  r�  r~  ÚalphaÚrgbrx   Ú	text_argsÚposÚhalignÚvaligns                   r4   r‚  zRendererPgf.draw_textŒ  s  € ô $ A tÓ,ˆä�—‘Ð-Ô.Ø×Ñ˜RÔ à—‘“ˆØ�CŠ<Ü�T—W‘WÐ7¸%Ñ?Ô@Ü�T—W‘WÐ9¸EÑAÔBÜ�B—J‘J“LÓ! " 1Ð%ˆÜ�—‘ÐCÀcÑIÔJÜ�—‘Ð:Ô;Ü�—‘Ð8Ô9Ø  1Ñ$ˆà�k‰k�o‰oˆØˆ	ÙØ˜!’Ø×(Ñ(Ó*¨hÒ6Ø×+Ñ+Ó-Ð1BÒBð ×-Ñ-Ó/ˆCØ×&Ñ&Ó(×2Ñ2°3Ó7‰DˆAˆqØ$¨wÀ"ÑEˆFØ"¨hØ"(°Bñ8ˆFà×ÑØ�Q�s‘U˜1�I˜RÐ Ø�Q�s‘U˜1�I˜RÐ Ø�u×4Ñ4Ó6Ñ7Ø�u×2Ñ2Ó4Ñ5ð	õ ð ×Ñ˜r ! C¡%¨ ¨&°°3±°q°	¸ÐHÔIà�AŠ:Ø×Ñ˜[¨5Ñ0Ô1ä�—’°·±¸)Õ1DÂaÐHÔIÜ�—‘Ð+Õ,r6   c                 ó”   — t         j                  «       j                  ||«      \  }}}t        | j                  z  }||z  ||z  ||z  fS rD   )r–   rž   rÑ   r@  rx   )rˆ   r\   r]   r�  rá   râ   Údr	  s           r4   Úget_text_width_height_descentz)RendererPgf.get_text_width_height_descent¼  sQ   € ô  ×2Ñ2Ó4ß,Ñ,¨Q°Ó5ñ 	ˆˆ1ˆaô
 ˜4Ÿ8™8Ñ#ˆØ�1‰u�a˜!‘e˜Q ™UÐ"Ð"r6   c                  ó   — y)NFr¡   r³   s    r4   ÚflipyzRendererPgf.flipyÇ  s   € àr6   c                 óž   — | j                   j                  «       | j                  z  | j                   j                  «       | j                  z  fS rD   )rï   Úget_figwidthrx   Úget_figheightr³   s    r4   Úget_canvas_width_heightz#RendererPgf.get_canvas_width_heightË  s>   € à—‘×(Ñ(Ó*¨T¯X©XÑ5Ø—‘×)Ñ)Ó+¨d¯h©hÑ6ð8ð 	8r6   c                 ó.   — |t         z  | j                  z  S rD   )r@  rx   )rˆ   rW  s     r4   Úpoints_to_pixelszRendererPgf.points_to_pixelsÐ  s   € àœÑ$ t§x¡xÑ/Ð/r6   rD   )TF)FN)r�   r‘   r’   r†   r  r&  rü   rý   r   r  rf  rh  r}  r„  r‚  rž  r   r¤  r¦  r“   r”   s   @r4   rí   rí   V  sg   ø„ ôð( "ó$-óL31òj4ò(1&óf@LóDBòò9ó'-ðR ;?ô Ló.-ò`	#òò8ö
0r6   rí   c                   óZ   ‡ — e Zd ZddddœZd„ Zddœd„Zd	„ Zdd
œd„Zd„ Zd„ Z	ˆ fd„Z
ˆ xZS )ÚFigureCanvasPgfzLaTeX PGF picturezLaTeX compiled PGF picturezPortable Network Graphics)ÚpgfÚpdfÚpngc                  ó   — y)Nrª  r¡   r³   s    r4   Úget_default_filetypez$FigureCanvasPgf.get_default_filetypeÚ  s   € Ør6   N©Úbbox_inches_restorec          
      ó  — d}dg}t        «       j                  «       D ]  }|j                  d|z   «       Œ |j                  d«       dj                  |«      }| j                  j                  «       | j                  j                  «       }}| j                  j                  }|j                  |«       |j                  |«       |j                  d«       t        |d«       t        |d«       t        |d«       t        |d	||fz  «       t        |d
«       t        | j                  |||t        | j                  |«      |¬«      }	| j                  j                  |	«       t        |d«       t        |d«       t        |d«       y )NaÉ  %% Creator: Matplotlib, PGF backend
%%
%% To include the figure in your LaTeX document, write
%%   \input{<filename>.pgf}
%%
%% Make sure the required packages are loaded in your preamble
%%   \usepackage{pgf}
%%
%% Also ensure that all the required font packages are loaded; for instance,
%% the lmodern package is sometimes necessary when using math font.
%%   \usepackage{lmodern}
%%
%% Figures using additional raster images can only be included by \input if
%% they are in the same directory as the main LaTeX file. For loading figures
%% from other directories you can use the `import` package
%%   \usepackage{import}
%%
%% and then include the figures with
%%   \import{<path to file>}{<filename>.pgf}
%%
z)%% Matplotlib used the following preamblez%%   z%%r    z\begingroupz\makeatletterz\begin{pgfpicture}z:\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{%fin}{%fin}}z&\pgfusepath{use as bounding box, clip}r®  z\end{pgfpicture}z\makeatotherz	\endgroup)r5   rØ   r#   r-   rï   r¢  r£  rx   r=   r@   r   rí   Údraw)
rˆ   r>   r¯  Úheader_textÚheader_info_preambler?   rá   râ   rx   Úrenderers
             r4   Ú_print_pgf_to_fhz FigureCanvasPgf._print_pgf_to_fhÝ  sZ  € ðˆð. !LÐLÐÜ!“O×.Ñ.Ó0ò 	8ˆDØ ×'Ñ'¨°$©Õ7ð	8à×#Ñ# DÔ)Ø#Ÿy™yÐ)=Ó>Ðð �{‰{×'Ñ'Ó)¨4¯;©;×+DÑ+DÓ+Fˆ1ˆØ�k‰k�o‰oˆð 	�‰�ÔØ
�‰Ð%Ô&Ø
�‰�ŒÜ��^Ô$Ü�Ð%Ô&Ü�Ð*Ô+Ü�ØNØ�q�6ñô	ô 	�Ð>Ô?Ü$ T§[¡[°!°Q¸Ü%0°·±¸bÓ%AØ9LôNˆð 	�‰×Ñ˜Ô"ô 	�Ð(Ô)Ü��_Ô%Ü��\Õ"r6   c                 óä   — t        j                  |dd¬«      5 }t        j                  |«      s t        j                  d«      |«      } | j
                  |fi |¤Ž ddd«       y# 1 sw Y   yxY w)zy
        Output pgf macros for drawing the figure so it can be included and
        rendered in latex documents.
        rá   rÅ   ©rÆ   N)r   Úopen_file_cmÚfile_requires_unicodeÚcodecsÚ	getwriterrµ  )rˆ   Úfname_or_fhÚkwargsÚfiles       r4   Ú	print_pgfzFigureCanvasPgf.print_pgf  sg   € ô
 ×Ñ ¨S¸7ÔCð 	2ÀtÜ×.Ñ.¨tÔ4Ø0”v×'Ñ'¨Ó0°Ó6�Ø!ˆD×!Ñ! $Ñ1¨&Ò1÷	2÷ 	2ñ 	2ús   ™AA&Á&A/)Úmetadatac                óô  — | j                   j                  «       \  }}t        d|xs i «      }dj                  d„ |j	                  «       D «       «      }t        «       5 }t        j                  |«      }	 | j                  |	dz  fi |¤Ž |	dz  j                  dj                  dd|z  d	||fz  d
t        «       ddddg	«      d¬«       t        j                  d   }
t        j                  |
dddgt        |¬«       |	dz  j!                  d«      5 }t        j"                  |d«      5 }t%        j&                  ||«       ddd«       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z3Use LaTeX to compile a pgf generated figure to pdf.r©  rÔ   c              3   ó:   K  — | ]  \  }}t        ||«      –— Œ y ­wrD   ©rk   ©rE   ÚkÚvs      r4   rG   z,FigureCanvasPgf.print_pdf.<locals>.<genexpr>$  s#   è ø€ ò BÙ'+ q¨!Ô˜Q ×"ñBùó   ‚z
figure.pgfz
figure.texr    ú\documentclass[12pt]{article}ú#\usepackage[pdfinfo={%s}]{hyperref}ú8\usepackage[papersize={%fin,%fin}, margin=0in]{geometry}ú\usepackage{pgf}r˜   z
\centeringz\input{figure.pgf}z\end{document}rÅ   r·  r   ú-interaction=nonstopmoderÄ   ©rÇ   ú
figure.pdfÚrbÚwbN)rï   Úget_size_inchesr   r-   Úitemsr   r%   r   r¿  Ú
write_textr5   r!   r"   r   Ú_check_and_log_subprocessrW   Úopenr¸  ÚshutilÚcopyfileobj)rˆ   r¼  rÀ  r½  rá   râ   Ú	info_dictÚpdfinfor¹   ÚtmppathÚ
texcommandÚorigÚdests                r4   Ú	print_pdfzFigureCanvasPgf.print_pdf  s‹  € à�{‰{×*Ñ*Ó,‰ˆˆ1ä)¨%°²¸RÓ@ˆ	Ø—(‘(ñ BØ/8¯©Ó/@ôBó Bˆô  Ó!ð 	/ VÜ—l‘l 6Ó*ˆGØˆD�N‰N˜7 \Ñ1Ñ<°VÒ<Ø�|Ñ#×/Ñ/Ø—	‘	Ø4Ø:¸WÑDØOØ˜!�fñà'Ü!“OØ'Ø!Ø)Ø%ðó ð %ð 0ô &ô Ÿ™ oÑ6ˆJÜ×+Ñ+ØÐ7Ð9IØðÜ $¨&õ2ð ˜LÑ(×.Ñ.¨tÓ4ð /¸Ü×#Ñ# K°Ó6ð/Ø:>Ü×"Ñ" 4¨Ô.÷/÷ /÷)	/ð 	/÷(/ð /ú÷ /ð /ú÷)	/ð 	/ús=   ÁB1E.ÄE"Ä&EÄ=E"ÅE.ÅEÅE"Å"E+	Å'E.Å.E7c                 óÆ  — t        «       }t        «       5 }t        j                  |«      }|dz  }|dz  } | j                  |fi |¤Ž  |||| j
                  j                  ¬«       |j                  d«      5 }t        j                  |d«      5 }	t        j                  ||	«       ddd«       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z?Use LaTeX to compile a pgf figure to pdf and convert it to png.rÎ  z
figure.png)rx   rÏ  rÐ  N)r�   r   r%   r   rÞ  rï   rx   rÕ  r   r¸  rÖ  r×  )
rˆ   r¼  r½  Ú	converterr¹   rÚ  Úpdf_pathÚpng_pathrÜ  rÝ  s
             r4   Ú	print_pngzFigureCanvasPgf.print_png@  sÐ   € ä-Ó/ˆ	ÜÓ!ð 	/ VÜ—l‘l 6Ó*ˆGØ Ñ-ˆHØ Ñ-ˆHØˆD�N‰N˜8Ñ. vÒ.Ù�h ¨d¯k©k¯o©oÕ>Ø—‘˜tÓ$ð /¨Ü×#Ñ# K°Ó6ð/Ø:>Ü×"Ñ" 4¨Ô.÷/÷ /÷	/ð 	/÷/ð /ú÷ /ð /ú÷	/ð 	/ús<   •A#CÁ8CÂB?Â&CÂ.CÂ?CÃCÃC	ÃCÃC c                 ó.   — t        | j                  d «      S rD   )rí   rï   r³   s    r4   Úget_rendererzFigureCanvasPgf.get_rendererM  s   € Ü˜4Ÿ;™;¨Ó-Ð-r6   c                 óT   •— | j                   j                  «        t        ‰| �  «       S rD   )rï   Údraw_without_renderingr…   r±  )rˆ   rŠ   s    €r4   r±  zFigureCanvasPgf.drawP  s   ø€ Ø�‰×*Ñ*Ô,Ü‰w‰|‹~Ðr6   )r�   r‘   r’   Ú	filetypesr­  rµ  r¿  rÞ  rã  rå  r±  r“   r”   s   @r4   r¨  r¨  Õ  sG   ø„ Ø+Ø4Ø3ñ7€Iòð ;?ô 6#òp2ð 26ô /òB/ò.÷ð r6   r¨  c                   ó   — e Zd ZeZy)Ú_BackendPgfN)r�   r‘   r’   r¨  ÚFigureCanvasr¡   r6   r4   rê  rê  X  s   „ à"�Lr6   rê  c                   ó|   — e Zd ZdZ e«       Zeddœd„Z ej                  d«      Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zdd„Zd„ Zy)ÚPdfPagesa�  
    A multi-page PDF file using the pgf backend

    Examples
    --------
    >>> import matplotlib.pyplot as plt
    >>> # Initialize:
    >>> with PdfPages('foo.pdf') as pdf:
    ...     # As many times as you like, create a figure fig and save it:
    ...     fig = plt.figure()
    ...     pdf.savefig(fig)
    ...     # When no figure is specified the current figure is saved
    ...     pdf.savefig()
    N)Ú
keep_emptyrÀ  c                ó  — || _         d| _        |r%|| j                  urt        j                  dd¬«       || _        |xs i j                  «       | _        t        d| j                  «      | _	        t        «       | _        y)a<  
        Create a new PdfPages object.

        Parameters
        ----------
        filename : str or path-like
            Plots using `PdfPages.savefig` will be written to a file at this
            location. Any older file with the same name is overwritten.

        keep_empty : bool, default: True
            If set to False, then empty pdf files will be deleted automatically
            when closed.

        metadata : dict, optional
            Information dictionary object (see PDF reference section 10.2.1
            'Document Information Dictionary'), e.g.:
            ``{'Creator': 'My software', 'Author': 'Me', 'Title': 'Awesome'}``.

            The standard keys are 'Title', 'Author', 'Subject', 'Keywords',
            'Creator', 'Producer', 'CreationDate', 'ModDate', and
            'Trapped'. Values have been predefined for 'Creator', 'Producer'
            and 'CreationDate'. They can be removed by setting them to `None`.

            Note that some versions of LaTeX engines may ignore the 'Producer'
            key and set it to themselves.
        r   ú3.8ú^Keeping empty pdf files is deprecated since %(since)s and support will be removed %(removal)s.©r‰   r©  N)Ú_output_nameÚ
_n_figuresÚ_UNSETr   Úwarn_deprecatedÚ_keep_emptyÚcopyÚ	_metadatar   Ú
_info_dictr   Ú_file)rˆ   Úfilenamerî  rÀ  s       r4   r†   zPdfPages.__init__o  so   € ð6 %ˆÔØˆŒÙ˜*¨D¯K©KÑ7Ü× Ñ  ð/õ1ð &ˆÔØ"š. b×.Ñ.Ó0ˆŒÜ/°°t·~±~ÓFˆŒÜ“Yˆ�
r6   rð  c           	      ó  — dj                  d„ | j                  j                  «       D «       «      }dj                  dd|z  d||fz  dt        «       dd	g«      }| j                  j                  |j                  d
«      «       y )NrÔ   c              3   ó:   K  — | ]  \  }}t        ||«      –— Œ y ­wrD   rÃ  rÄ  s      r4   rG   z)PdfPages._write_header.<locals>.<genexpr>˜  s#   è ø€ ò HÙ'+ q¨!Ô˜Q ×"ñHùrÇ  r    rÈ  rÉ  rÊ  rË  z\setlength{\parindent}{0pt}z\begin{document}%rÅ   )r-   rú  rÒ  r5   rû  r=   Úencode)rˆ   Úwidth_inchesÚheight_inchesrÙ  r™   s        r4   Ú_write_headerzPdfPages._write_header—  sˆ   € Ø—(‘(ñ HØ/3¯©×/DÑ/DÓ/FôHó Hˆà—y‘yØ,Ø2°WÑ<ØGØ˜]Ð+ñ,àÜ‹OØ*Ø ð	"
ó 	ˆð 	�
‰
×Ñ˜×,Ñ,¨WÓ5Õ6r6   c                 ó   — | S rD   r¡   r³   s    r4   Ú	__enter__zPdfPages.__enter__¦  s   € Øˆr6   c                 ó$   — | j                  «        y rD   )Úclose)rˆ   Úexc_typeÚexc_valÚexc_tbs       r4   Ú__exit__zPdfPages.__exit__©  s   € Ø�
‰
�r6   c                 ó<  — | j                   j                  d«       | j                  dkD  r| j                  «        nG| j                  r;t        j                  dd¬«       t        | j                  d«      j                  «        | j                   j                  «        y)zƒ
        Finalize this object, running LaTeX in a temporary directory
        and moving the final pdf file to *filename*.
        s   \end{document}\nr   rð  rñ  rò  rÐ  N)
rû  r=   rô  Ú
_run_latexr÷  r   rö  rÕ  ró  r  r³   s    r4   r  zPdfPages.close¬  sv   € ð
 	�
‰
×ÑÐ-Ô.Ø�?‰?˜QÒØ�O‰OÕØ×ÒÜ× Ñ  ð/õ1ô �×"Ñ" DÓ)×/Ñ/Ô1Ø�
‰
×ÑÕr6   c                 ó„  — t         j                  d   }t        «       5 }t        j                  |d«      }|j                  | j                  j                  «       «       t        j                  |dd|gt        |¬«       t        j                  |j                  d«      | j                  «       d d d «       y # 1 sw Y   y xY w)Nr   zpdf_pages.texrÌ  rÄ   rÍ  z.pdf)r!   r"   r   r%   r   Úwrite_bytesrû  Úgetvaluer   rÔ  rW   rÖ  ÚmoveÚwith_suffixró  )rˆ   rÛ  r¹   Ú
tex_sources       r4   r  zPdfPages._run_latex»  s¡   € Ü—\‘\ /Ñ2ˆ
ÜÓ!ð 	K VÜ Ÿ™ f¨oÓ>ˆJØ×"Ñ" 4§:¡:×#6Ñ#6Ó#8Ô9Ü×+Ñ+ØÐ7Ð9IØðä˜&õ"ô �K‰K˜
×.Ñ.¨vÓ6¸×8IÑ8IÔJ÷	K÷ 	Kñ 	Kús   žBB6Â6B?c                 óf  — t        |t        «      sR|€t        j                  «       }nt        j                  |«      }|€t        d|› �«      ‚|j                  j                  }t        j                  |t        |«      ¬«      5  |j                  «       \  }}| j                  dk(  r| j                  ||«       n1| j                  j                  d|› d|› d�j!                  d«      «        |j"                  | j                  fd	d
i|¤Ž | xj                  dz  c_        ddd«       y# 1 sw Y   yxY w)a5  
        Save a `.Figure` to this file as a new page.

        Any other keyword arguments are passed to `~.Figure.savefig`.

        Parameters
        ----------
        figure : `.Figure` or int, default: the active figure
            The figure, or index of the figure, that is saved to the file.
        Nz
No figure )Úcanvasr   z?\newpage\ifdefined\pdfpagewidth\pdfpagewidth\else\pagewidth\fi=z<in\ifdefined\pdfpageheight\pdfpageheight\else\pageheight\fi=zin%%
rd   r×   r©  rŸ   )re   r   r   Ú
get_activeÚget_fig_managerrÖ   r  rï   r   Ú_setattr_cmr¨  rÑ  rô  r  rû  r=   rÿ  Úsavefig)rˆ   rï   r½  ÚmanagerrÞ   rß   s         r4   r  zPdfPages.savefigÆ  s  € ô ˜&¤&Ô)Øˆ~ÜŸ.™.Ó*‘ä×-Ñ-¨fÓ5�ØˆÜ  :¨f¨XÐ!6Ó7Ð7Ø—^‘^×*Ñ*ˆFä×Ñ˜v¬o¸fÓ.EÔFñ 	!Ø"×2Ñ2Ó4‰MˆE�6Ø�‰ !Ò#Ø×"Ñ" 5¨&Õ1ð
 —
‘
× Ñ ð/à/4¨gð 60à06¨xð 8ð	÷ ‘f˜W“oô	ð ˆF�N‰N˜4Ÿ:™:Ñ>¨eÐ>°vÒ>Ø�OŠO˜qÑ �O÷'	!÷ 	!ñ 	!ús   ÂBD'Ä'D0c                 ó   — | j                   S )z=Return the current number of pages in the multipage pdf file.)rô  r³   s    r4   Úget_pagecountzPdfPages.get_pagecountï  s   € à�‰Ðr6   rD   )r�   r‘   r’   rä   Úobjectrõ  r†   r   Údeprecate_privatize_attributerî  r  r  r
  r  r  r  r  r¡   r6   r4   rí  rí  ]  sT   „ ññ ‹X€Fà/5Àô $ðL 4�×3Ñ3°EÓ:€Jò7òòòò	Kó'!óRr6   rí  )>rº  rf   rÀ   Úior   Úloggingr  rs   r%   rÖ  rq   Útempfiler   rº   ÚPILr   Ú
matplotlibr!   r   r   r   r&   Úmatplotlib.backend_basesr	   r
   r   r   Ú!matplotlib.backends.backend_mixedr   Úmatplotlib.backends.backend_pdfr   r   Úmatplotlib.pathr   Úmatplotlib.figurer   Úmatplotlib._pylab_helpersr   Ú	getLoggerr�   rW   r5   Úlatex_pt_to_inrA  r@  Úmpl_in_to_ptr;   r@   ra   rk   r�   rÚ   rƒ   r–   rÁ   rë   rí   r¨  ÚFigureManagerPgfÚexportrê  rí  r¡   r6   r4   ú<module>r.     s1  ðÛ Û Û Ý Û Û Û 	Û Û Û Ý 'Û å ã ß 6Ñ 6÷ó õ @÷-å  Ý $Ý )à€w×Ñ˜Ó"€òð: €Ø�nÑ$€Ø€Ø�LÑ €ò=òò(òV òAô6	�ô 	÷Qñ Qðh €×Ñ�QÓñó ðô|0�,ô |0ô~}Ð&ô }ð@ %Ð ð 
‡�ô#�(ó #ó ð#÷Tò Tr6   