§
    ‡Ûgt»  ã            
       óÀ  — d 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	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ZddlZddlmZmZmZmZ ddlmZ ddlmZmZmZmZ dd	l 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- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5  e	j6        e7¦  «        Z8dZ9 ej:        d¦  «         G d„ d¦  «        ¦   «         Z;ej<         G d„ d¦  «        ¦   «         Z=i dd“dd“dd“d d!“d"d#“d$d%“d&d'“d(d)“d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=d>d?d@dAdBdCdDœ¥Z>dE„ Z?dF„ Z@ ej:        dGdH¬I¦  «        dJ„ ¦   «         ZAdK„ ZBdL„ ZCdM„ ZDdN„ ZE G dO„ dPe5jF        ¦  «        ZG G dQ„ dRe¦  «        ZH G dS„ dTe¦  «        ZI ej:        dG¦  «        dU„ ¦   «         ZJdV„ ZKdW„ ZLd_dX„ZMd_dY„ZNd`dZ„ZOdad[„ZPeZQg d\¢ZRejS         G d]„ d^e¦  «        ¦   «         ZTdS )bzG
A PostScript backend, which can produce both PostScript .ps and .eps.
é    N)ÚEnum)ÚStringIO)ÚTemporaryDirectory)Ú_apiÚcbookÚ_pathÚ_text_helpers)ÚAFM)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)Úis_writable_file_likeÚfile_requires_unicode)Úget_font)ÚLOAD_NO_SCALEÚFT2Font)Úconvert_ttf_to_ps)Ú	uni2type1)ÚPath)Ú
TexManager)ÚAffine2D)ÚMixedModeRendereré   )Ú_backend_pdf_psFú3.7c                   ó   — e Zd Zd„ ZdS )ÚPsBackendHelperc                 ó   — i | _         d S ©N)Ú_cached©Úselfs    úT/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/backends/backend_ps.pyÚ__init__zPsBackendHelper.__init__,   s   € ØˆŒˆˆó    N)Ú__name__Ú
__module__Ú__qualname__r%   © r&   r$   r   r   *   s#   € € € € € ðð ð ð ð r&   r   c                   óX   — e Zd Z  ej        dd¬¦  «         ed„ ¦  «        ¦  «        ZdS )Ú__getattr__r   Ú )Úobj_typec                 ó   — t          ¦   «         S r    )r   r"   s    r$   ú<lambda>z__getattr__.<lambda>4   s   € �oÑ/Ô/€ r&   N)r'   r(   r)   r   Ú
deprecatedÚpropertyÚps_backend_helperr*   r&   r$   r,   r,   0   sF   € € € € € ð <˜˜œ¨¸Ð;Ñ;Ô;ØˆÐ/Ð/Ñ0Ô0ñ2ô 2ÐÐÐr&   r,   Úletter)ç      !@é   Úlegal)r5   é   Úledger)r6   é   Úa0)ç®GázŽ@@gHáz®gG@Úa1)ç¤p=
×c7@r<   Úa2)ç
×£p=Š0@r>   Úa3)çáz®Ga'@r@   Úa4)ç
×£p=Š @rB   Úa5)çR¸…ëQ@rD   Úa6)ç…ëQ¸…@rF   Úa7)çHáz®G@rH   Úa8)çffffff @rJ   Úa9)ç\�Âõ(\÷?rL   Úa10)gR¸…ëQð?rN   Úb0)çfffffFD@g)\�Âõ¨L@Úb1)ç)\�Âõ¨<@rQ   Úb2)ç…ëQ¸E4@rS   )ç)\�Âõ¨,@rU   )ç¸…ëQ8$@rV   )ç¤p=
×£@rW   )ç)\�Âõ(@rX   )ç¤p=
×£@rY   )ç®Gáz@rZ   )ç)\�Âõ(ü?r[   )g)\�Âõ(ô?r\   )Úb3Úb4Úb5Úb6Úb7Úb8Úb9Úb10c                 ó´   — t          t                               ¦   «         d¬¦  «        D ].\  }\  }}|                     d¦  «        rŒ| |k     r
||k     r|c S Œ/dS )NT)ÚreverseÚlr;   )ÚsortedÚ	papersizeÚitemsÚ
startswith)ÚwÚhÚkeyÚpwÚphs        r$   Ú_get_papertyperq   R   sg   € Ý¥	§¢Ñ 1Ô 1¸4Ð@Ñ@Ô@ð ð ‰ˆ‰Xˆb�"Ø�>Š>˜#ÑÔð 	ØØˆrŠ6ˆ6�a˜"’f�fØˆJˆJˆJøØˆ4r&   c                  ó@   — d                      d„ | D ¦   «         ¦  «        S )Nú c              3   ój   K  — | ].}|d ›                      d¦  «                              d¦  «        V — Œ/dS )ú1.3fÚ0ú.N)Úrstrip)Ú.0Úargs     r$   ú	<genexpr>z_nums_to_str.<locals>.<genexpr>\   sB   è è € ÐJÐJ¸c�s�M�M×(Ò(¨Ñ-Ô-×4Ò4°SÑ9Ô9ÐJÐJÐJÐJÐJÐJr&   )Újoin)Úargss    r$   Ú_nums_to_strr~   [   s#   € Ø�8Š8ÐJÐJÀTÐJÑJÔJÑJÔJÐJr&   z3.6z a vendored copy of this function)Úalternativec                 ó6  — |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } |                       d	d
¦  «        } t          j        dd„ | ¦  «        } |                      d¦  «        S )zR
    Quote dangerous characters of S for use in a PostScript string constant.
    ó   \s   \\ó   (s   \(ó   )s   \)ó   's   \251ó   `s   \301s   [^ -~\n]c                 óJ   — dt          |                      ¦   «         ¦  «        z  S )Ns   \%03o)ÚordÚgroup)Úxs    r$   r0   z!quote_ps_string.<locals>.<lambda>i   s   €  yµ3°q·w²w±y´y±>´>Ñ'A€ r&   Úascii)ÚreplaceÚreÚsubÚdecode)Úss    r$   Úquote_ps_stringr�   _   sŒ   € ð
 	
�	Š	�%˜Ñ!Ô!€AØ	�	Š	�$˜ÑÔ€AØ	�	Š	�$˜ÑÔ€AØ	�	Š	�$˜Ñ!Ô!€AØ	�	Š	�$˜Ñ!Ô!€AÝ
Œˆ|ÐAÐAÀ1ÑEÔE€AØ�8Š8�GÑÔÐr&   c                 ó,  — t          |¦  «        rct          |¦  «        rt          | dd¬¦  «        nt          | d¦  «        }|5  t          j        ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS t          j        | |t          j        ¬¦  «         dS )zˆ
    Move the contents of file at *src* to path-or-filelike *dst*.

    If *dst* is a path, the metadata of *src* are *not* copied.
    Úrúlatin-1©ÚencodingÚrbN)Úcopy_function)r   r   ÚopenÚshutilÚcopyfileobjÚmoveÚcopyfile)ÚsrcÚdstÚfhs      r$   Ú_move_path_to_path_or_streamr    m   sè   € õ ˜SÑ!Ô!ð =å& sÑ+Ô+ð#�d�3˜ iÐ0Ñ0Ô0Ð0å˜˜T‘?”?ð 	ð ð 	(ð 	(ÝÔ˜r 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ 	Œ�C˜­F¬OÐ<Ñ<Ô<Ð<Ð<Ð<s   ÁA&Á&A*Á-A*c                 ó>  ‡
— t          | d¬¦  «        Š
ˆ
fd„|D ¦   «         }d                     ‰
j        d‰
j        z  d                     t          t          ‰
j        ¦  «        ¦  «        d                     ˆ
fd„|D ¦   «         ¦  «        t          |¦  «        dz   ¬¦  «        }d}g }|D ]Û}‰
 	                    |t          ¦  «        }‰
                     ¦   «         \  }}	|                     d	‰
                     |¦  «        d                     t          t          |j        d
g|j        ¢¦  «        ¦  «        dœz  t          j        t#          |dz  |	¦  «        ddddd
g d¢d¦  «                             d¦  «        z   dz   ¦  «         ŒÜ|d                     |¦  «        z   |z   S )a‰  
    Subset *chars* from the font at *font_path* into a Type 3 font.

    Parameters
    ----------
    font_path : path-like
        Path to the font to be subsetted.
    chars : str
        The characters to include in the subsetted font.

    Returns
    -------
    str
        The string representation of a Type 3 font, which can be included
        verbatim into a PostScript file.
    r   )Úhinting_factorc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r*   ©Úget_char_index©ry   ÚcÚfonts     €r$   ú
<listcomp>z%_font_to_ps_type3.<locals>.<listcomp>�   s'   ø€ Ð7Ð7Ð7¨A�×$Ò$ QÑ'Ô'Ð7Ð7Ð7r&   aM  %!PS-Adobe-3.0 Resource-Font
%%Creator: Converted from TrueType to Type 3 by Matplotlib.
10 dict begin
/FontName /{font_name} def
/PaintType 0 def
/FontMatrix [{inv_units_per_em} 0 0 {inv_units_per_em} 0 0] def
/FontBBox [{bbox}] def
/FontType 3 def
/Encoding [{encoding}] def
/CharStrings {num_glyphs} dict dup begin
/.notdef 0 def
rs   c              3   óh   •K  — | ],}d                       ‰                     |¦  «        ¦  «        V — Œ-dS )z/{}N)ÚformatÚget_glyph_name)ry   Úglyph_idr¨   s     €r$   r{   z$_font_to_ps_type3.<locals>.<genexpr>    sQ   øè è € ð 8ð 8Ø!)ð #Ÿ\š\¨$×*=Ò*=¸hÑ*GÔ*GÑHÔHð 8ð 8ð 8ð 8ð 8ð 8r&   )Ú	font_nameÚinv_units_per_emÚbboxr•   Ú
num_glyphszÿ
end readonly def

/BuildGlyph {
 exch begin
 CharStrings exch
 2 copy known not {pop /.notdef} if
 true 3 1 roll get exec
 end
} _d

/BuildChar {
 1 index /Encoding get exch get
 1 index /BuildGlyph get exec
} _d

FontName currentdict end definefont pop
z/%(name)s{%(bbox)s sc
r   )Únamer°   é@   NF)ó   mó   lr&   ó   cr&   TrŠ   zce} _dú
)r   r«   Úpostscript_nameÚunits_per_EMr|   ÚmapÚstrr°   ÚlenÚ
load_glyphr   Úget_pathÚappendr¬   ÚhoriAdvancer   Úconvert_to_stringr   rŽ   )Ú	font_pathÚcharsÚ	glyph_idsÚpreambleÚ	postambleÚentriesr­   ÚgÚvr§   r¨   s             @r$   Ú_font_to_ps_type3rÊ   }   sÛ  ø€ õ" �I¨aÐ0Ñ0Ô0€DØ7Ð7Ð7Ð7°Ð7Ñ7Ô7€Ið÷ ‚F�TÔ)Ø Ô 1Ñ1Ø—’��S $¤)Ñ,Ô,Ñ-Ô-Ø—H’Hð 8ð 8ð 8ð 8Ø-6ð8ñ 8ô 8ñ 8ô 8å˜)‘n”n qÑ(ð ñ *ô *ð ð$€Ið& €GØð 
ð 
ˆØ�OŠO˜H¥mÑ4Ô4ˆØ�}Š}‰Œ‰ˆˆ1Ø�ŠØ%Ø×+Ò+¨HÑ5Ô5ØŸš¥¥S¨1¬=¸!Ð*E¸a¼fÐ*EÑ!FÔ!FÑGÔGð)ð )ñ õ Ô%õ �Q˜‘V˜Q‘”  t¨U°D¸!ð
 -Ð,Ð,¨dñ4ô 4÷ 5;²F¸7±O´OñDð ññ	
ô 	
ð 	
ð 	
ð" �d—i’i Ñ(Ô(Ñ(¨9Ñ4Ð4r&   c                 ó@  ‡	— d                      d„ |D ¦   «         ¦  «        }t                               d| |¦  «         	 t          j        | |¦  «        }t                               d| t          j        | ¦  «        j        |                     ¦   «         j	        ¦  «         t          |¦  «        Š	ˆ	fd„|D ¦   «         }t          ¦   «         5 }t
          j                              |d¦  «        }t          |d¦  «        5 }|                     |                     ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   t!          t          j        |¦  «        |d	|¦  «         ddd¦  «         dS # 1 swxY w Y   dS # t$          $ r t                               d
¦  «         ‚ w xY w)a2  
    Subset *chars* from the font at *font_path* into a Type 42 font at *fh*.

    Parameters
    ----------
    font_path : path-like
        Path to the font to be subsetted.
    chars : str
        The characters to include in the subsetted font.
    fh : file-like
        Where to write the font.
    r-   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r    )Úchr)ry   r§   s     r$   r{   z%_font_to_ps_type42.<locals>.<genexpr>Û   s(   è è € Ð/Ð/ A�˜Q™œÐ/Ð/Ð/Ð/Ð/Ð/r&   zSUBSET %s characters: %szSUBSET %s %d -> %dc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r*   r¤   r¦   s     €r$   r©   z&_font_to_ps_type42.<locals>.<listcomp>ä   s'   ø€ Ð;Ð;Ð;°�T×(Ò(¨Ñ+Ô+Ð;Ð;Ð;r&   ztmp.ttfÚwbNé*   zDThe PostScript backend does not currently support the selected font.)r|   Ú_logÚdebugr   Úget_glyphs_subsetÚosÚstatÚst_sizeÚ	getbufferÚnbytesr   r   Úpathr˜   ÚwriteÚgetvaluer   ÚfsencodeÚRuntimeErrorÚwarning)
rÂ   rÃ   rŸ   Ú
subset_strÚfontdatarÄ   ÚtmpdirÚtmpfileÚtmpr¨   s
            @r$   Ú_font_to_ps_type42rä   Î   s)  ø€ ð —’Ð/Ð/¨Ð/Ñ/Ô/Ñ/Ô/€JÝ‡J‚JÐ)¨9°jÑAÔAÐAðÝ"Ô4°YÀ
ÑKÔKˆÝ�
Š
Ð'¨µB´G¸IÑ4FÔ4FÔ4NØ×%Ò%Ñ'Ô'Ô.ñ	0ô 	0ð 	0õ �xÑ Ô ˆØ;Ð;Ð;Ð;°UÐ;Ñ;Ô;ˆ	ÝÑ!Ô!ð 	G VÝ”g—l’l 6¨9Ñ5Ô5ˆGå�g˜tÑ$Ô$ð /¨Ø—	’	˜(×+Ò+Ñ-Ô-Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ �bœk¨'Ñ2Ô2°B¸¸IÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøõ ð ð ð Ý�Šð)ñ	*ô 	*ð 	*ð 	ð	øøøsT   ¾BE7 Ã	1E*Ã:(D.Ä"E*Ä.D2	Ä2E*Ä5D2	Ä6'E*ÅE7 Å*E.Å.E7 Å1E.Å2E7 Å7&Fc                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )z}
    Wrap `RendererPS` method *meth* to emit a PS comment with the method name,
    if the global flag `debugPS` is set.
    c                 óp   •— t           r#| j                             d‰j        › d�¦  «          ‰| g|¢R i |¤ŽS )Nz% r·   )ÚdebugPSÚ	_pswriterrÚ   r'   )r#   r}   ÚkwargsÚmeths      €r$   Úwrapperz!_log_if_debug_on.<locals>.wrapperù   sO   ø€ åð 	9ØŒN× Ò Ð!7 d¤mÐ!7Ð!7Ð!7Ñ8Ô8Ð8Øˆt�DÐ*˜4Ð*Ð*Ð* 6Ð*Ð*Ð*r&   )Ú	functoolsÚwraps)rê   rë   s   ` r$   Ú_log_if_debug_onrî   ô   s:   ø€ õ
 „_�TÑÔð+ð +ð +ð +ñ Ôð+ð
 €Nr&   c                   ó¨  ‡ — e Zd ZdZ ej        d¦  «        ZdZd"ˆ fd„	Zd„ Z	d#d„Z
d#d	„Zed
„ ¦   «         Zd#d„Zed„ ¦   «         Zd#d„Zd#d„Zd#d„Zd„ Zd„ Zd$d„Zd„ Zed%d„¦   «         Zed%d„¦   «         Ze	 d%d„¦   «         Zed„ ¦   «         Zeddœd„¦   «         Zed$d„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ddd œd!„Z!ˆ xZ"S )&Ú
RendererPSz€
    The renderer handles all the drawing primitives using a graphics
    context instance that controls the colors/styles.
    z	fonts/afmú	ps.useafméH   c                 óÐ  •— t          ¦   «                              ||¦  «         || _        t          j        d         rd| _        g | _        || _        d | _        d | _	        d | _
        d | _        d | _        d | _        d | _        i | _        |dz  | _        i | _        d| _        t'          j        ¦   «         | _         t-          j        d ¦  «        t0          j        ¦  «        | _        d S )Nútext.usetexr   rò   )Úsuperr%   rè   ÚmplÚrcParamsÚtextcntÚpsfragÚimagedpiÚcolorÚ	linewidthÚlinejoinÚlinecapÚlinedashÚfontnameÚfontsizeÚ_hatchesÚimage_magnificationÚ_clip_pathsÚ_path_collection_idr   ÚCharacterTrackerÚ_character_trackerrì   Ú	lru_cacherÑ   rÞ   Ú_logwarn_once)r#   ÚwidthÚheightÚpswriterrú   Ú	__class__s        €r$   r%   zRendererPS.__init__  sÖ   ø€ õ 	‰Œ×Ò˜ Ñ'Ô'Ð'Ø!ˆŒÝŒ<˜Ô&ð 	ØˆDŒLØˆDŒKØ ˆŒð ˆŒ
ØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØ#+¨b¡=ˆÔ ØˆÔØ#$ˆÔ å"1Ô"BÑ"DÔ"DˆÔØ6�YÔ0°Ñ6Ô6µt´|ÑDÔDˆÔÐÐr&   c                 ó–   — |€dS t          |¦  «        dk    r1|d         dk    rdS |d         dk    r|                      d¦  «         dS dS )NTé   é   r   r   zlThe PostScript backend does not support transparency; partially transparent artists will be rendered opaque.F)r¼   r	  )r#   Úrgb_or_rgbas     r$   Ú_is_transparentzRendererPS._is_transparent&  sp   € ØÐØ�4Ý�ÑÔ Ò"Ð"Ø˜1Œ~ Ò"Ð"Ø�tØ˜1Œ~ Ò"Ð"Ø×"Ò"ðMñNô Nð Nð �5à�5r&   Tc                 óº   — |||f| j         k    rJ| j                             ||cxk    r|k    r	n n|d›d�n|d›d|d›d|d›d�¦  «         |r|||f| _         d S d S d S )Nru   z	 setgray
rs   z setrgbcolor
)rû   rè   rÚ   )r#   r’   rÈ   ÚbÚstores        r$   Ú	set_colorzRendererPS.set_color4  s±   € Øˆq�!ˆ9˜œ
Ò"Ð"ØŒN× Ò Ø$%¨ K K¢K K¨a¢K K K K Kð %&Ð!6Ð!6Ð!6Ð!6Ð!6à$%Ð!LÐ!LÐ!L¨QÐ!LÐ!LÐ!L°aÐ!LÐ!LÐ!LÐ!LñNô Nð Nð ð 'Ø  A˜Y�”
�
�
ð #Ð"ð'ð 'r&   c                 óŽ   — t          |¦  «        }|| j        k    r(| j                             d|z  ¦  «         |r|| _        d S d S d S )Nz%1.3f setlinewidth
)Úfloatrü   rè   rÚ   )r#   rü   r  s      r$   Úset_linewidthzRendererPS.set_linewidth<  s]   € Ý˜)Ñ$Ô$ˆ	Ø˜œÒ&Ð&ØŒN× Ò Ð!7¸)Ñ!CÑDÔDÐDØð +Ø!*�”��ð 'Ð&ð+ð +r&   c                 ó,   — dddddddœ|          } | d›d�S )Nr   r   é   )ÚmiterÚroundÚbevelr   r   r  Údz setlinejoin
r*   )rý   s    r$   Ú_linejoin_cmdzRendererPS._linejoin_cmdC  s3   € ð ¨°Q¸1ÀÀqÐIÐIØôˆàÐ,Ð,Ð,Ð,Ð,r&   c                 ó�   — || j         k    r8| j                             |                      |¦  «        ¦  «         |r|| _         d S d S d S r    )rý   rè   rÚ   r   )r#   rý   r  s      r$   Úset_linejoinzRendererPS.set_linejoinJ  sX   € Ø�t”}Ò$Ð$ØŒN× Ò  ×!3Ò!3°HÑ!=Ô!=Ñ>Ô>Ð>Øð )Ø (�”��ð %Ð$ð)ð )r&   c                 ó,   — dddddddœ|          } | d›d�S )Nr   r   r  )Úbuttr  Ú
projectingr   r   r  r  z setlinecap
r*   )rþ   s    r$   Ú_linecap_cmdzRendererPS._linecap_cmdP  s3   € ð  q¸¸aÀAÈ!ÐLÐLØôˆàÐ*Ð*Ð*Ð*Ð*r&   c                 ó�   — || j         k    r8| j                             |                      |¦  «        ¦  «         |r|| _         d S d S d S r    )rþ   rè   rÚ   r&  )r#   rþ   r  s      r$   Úset_linecapzRendererPS.set_linecapW  sX   € Ø�d”lÒ"Ð"ØŒN× Ò  ×!2Ò!2°7Ñ!;Ô!;Ñ<Ô<Ð<Øð 'Ø&�”��ð #Ð"ð'ð 'r&   c                 ó  — | j         �'| j         \  }}t          j        ||¦  «        r||k    rd S | j                             |�,t          |¦  «        rdt          |Ž › dt          |¦  «        › d�nd¦  «         |r||f| _         d S d S )Nú[z] z	 setdash
z[] 0 setdash
)rÿ   ÚnpÚarray_equalrè   rÚ   r¼   r~   )r#   ÚoffsetÚseqr  ÚoldoÚoldseqs         r$   Úset_linedashzRendererPS.set_linedash]  sÃ   € ØŒ=Ð$Øœ=‰LˆD�&ÝŒ~˜c 6Ñ*Ô*ð ¨t°vª~¨~Ø�àŒ×Òà # µC¸±H´H ðB¥¨sÐ!3ð Bð BÝ!-¨fÑ!5Ô!5ðBð Bð Bð Bð .ñ	/ô 	/ð 	/ð ð 	*Ø# S˜MˆDŒMˆMˆMð	*ð 	*r&   c                 óš   — ||f| j         | j        fk    r4| j                             d|› d|d›d�¦  «         |r|| _         || _        d S d S d S )Nú/rs   ru   ú selectfont
)r   r  rè   rÚ   )r#   r   r  r  s       r$   Úset_fontzRendererPS.set_fontj  su   € Ø�hÐ D¤M°4´=Ð#AÒAÐAØŒN× Ò Ð!L XÐ!LÐ!L°Ð!LÐ!LÐ!LÐ!LÑMÔMÐMØð )Ø (�”Ø (�”��ð	 BÐAð)ð )r&   c                 ó°  — d}|| j         v r| j         |         S dt          | j         ¦  «        z  }t          j        d         }| j        dz  }| j                             d|d›d|d›d|d›d|d›d	|d
›d|                      t          j	        |¦  «        t          ¦   «                              |¦  «        d¬¦  «        › d|d
›d|› d�¦  «         || j         |<   |S )Nrò   zH%dzhatch.linewidthzH  << /PatternType 1
     /PaintType 2
     /TilingType 2
     /BBox[0 0 r  rs   z]
     /XStep z
     /YStep z(

     /PaintProc {
        pop
        rÈ   z setlinewidth
F©Úsimplifyz]
        gsave
        fill
        grestore
        stroke
     } bind
   >>
   matrix
   0 z translate
   makepattern
   /z
 exch def
)r  r¼   rö   r÷   r  rè   rÚ   Ú_convert_pathr   Úhatchr   Úscale)r#   r:  Úsidelenr²   rü   Ú
pageheights         r$   Úcreate_hatchzRendererPS.create_hatchq  sU  € ØˆØ�D”MÐ!Ð!Ø”= Ô'Ð'Ø•s˜4œ=Ñ)Ô)Ñ)ˆÝ”LÐ!2Ô3ˆ	Ø”[ 2Ñ%ˆ
ØŒ×Òð ð ð	ð ð ð $ð	ð ð ð
 ðð ð ð ðð ð ð 
ðð ð ð ×ÒÝ„JˆuÑÔ•x‘z”z×'Ò'¨Ñ0Ô0¸5ð ñ Bô Bðð ð( ð)ð ð ð, 
ð-ð ð ñ 	ô 	ð 	ð0  $ˆŒ�eÑØˆr&   c                 ó   — | j         S )z­
        Get the factor by which to magnify images passed to draw_image.
        Allows a backend to have images at a different resolution to other
        artists.
        )r  r"   s    r$   Úget_image_magnificationz"RendererPS.get_image_magnification“  s   € ð Ô'Ð'r&   FNc           
      ó˜   — |rdd| j         dz  | j        dz  f}nd }t          j        ||||d dg d¢d¦  «                             d¦  «        S )Ng        g      R@é   )r´   rµ   r&   r¶   s   clTrŠ   )r
  r  r   rÁ   rŽ   )r#   rÙ   Ú	transformÚclipr8  s        r$   r9  zRendererPS._convert_path›  sg   € Øð 	Ø˜˜dœj¨4Ñ/°´¸tÑ1CÐDˆDˆDàˆDÝÔ&Ø�)˜T 8¨TØÐ-Ð-Ð-¨tñ5ô 5ç5;²V¸G±_´_ð	Er&   c           
      ó$  — g }|                      ¦   «         }|�.|                     dt          g |j        ¢|j        ¢R Ž z  ¦  «         |                     ¦   «         \  }}|��|t          |¦  «        f}| j                             |¦  «        }|€Xdt          | j        ¦  «        z  }| j
                             d|› d|                      ||d¬¦  «        › d�¦  «         || j        |<   |                     |› d�¦  «         d	                     |¦  «        S )
Nz%s clipbox
zc%dr3  z {
Fr7  z
clip
newpath
} bind def
r·   r-   )Úget_clip_rectangler¿   r~   ÚsizeÚp0Úget_clip_pathÚidr  Úgetr¼   rè   rÚ   r9  r|   )r#   ÚgcrD  ÚrectrÙ   Útrfrn   Úcustom_clip_cmds           r$   Ú_get_clip_cmdzRendererPS._get_clip_cmd¤  s4  € ØˆØ×$Ò$Ñ&Ô&ˆØÐØ�KŠK˜­Ð)K°t´yÐ)KÀ4Ä7Ð)KÐ)KÐ)KÑKÑLÔLÐLØ×$Ò$Ñ&Ô&‰	ˆˆcØÐØ�˜C™œ�/ˆCØ"Ô.×2Ò2°3Ñ7Ô7ˆOØÐ&Ø"'­#¨dÔ.>Ñ*?Ô*?Ñ"?�Ø”×$Ò$ð &Øð&ð &à×Ò�D˜#¨ÐÑ.Ô.ð&ð &ð &ñ ô ð ð )8�Ô  Ñ%Ø�KŠK˜?Ð.Ð.Ð.Ñ/Ô/Ð/Ø�wŠw�t‰}Œ}Ðr&   c                 ó8  — |j         d d…         \  }}d}|d d d…d d …d d…f         }	|	                     ¦   «                              dd¦  «        }
|€d}|| j        z  }|| j        z  }nPd                     t          t          |                     ¦   «                              ¦   «         ¦  «        ¦  «        }d	}d	}| j	         
                    d
|                      |¦  «        › d|d›d|d›d|› d|d›d|d›d|d›d|d›d|d›d|d›d|d›d|d›d|› d|
› d�¦  «         d S )Nr  zfalse 3 colorimageéÿÿÿÿr  r·   éÀÿÿÿz1 0 0 1 0 0rs   g      ð?úgsave
rÈ   z translate
[z	] concat
z scale
/DataString r  z string def
z 8 [ z 0 0 -z 0 z5 ]
{
currentfile DataString readhexstring pop
} bind ú

grestore
)ÚshapeÚtobytesÚhexr  r|   rº   r»   ÚfrozenÚ	to_valuesrè   rÚ   rP  )r#   rL  r‰   ÚyÚimrC  rm   rl   ÚimagecmdÚdataÚhexdataÚmatrixÚxscaleÚyscales                 r$   Ú
draw_imagezRendererPS.draw_imageº  sø  € ð Œx˜˜˜Œ|‰ˆˆ1Ø'ˆØ�$�$�B�$˜˜˜˜2˜A˜2�+ŒˆØ—,’,‘.”.×$Ò$ T¨3Ñ/Ô/ˆàÐØ"ˆFØ˜Ô1Ñ1ˆFØ˜Ô1Ñ1ˆFˆFà—X’X�c¥# y×'7Ò'7Ñ'9Ô'9×'CÒ'CÑ'EÔ'EÑFÔFÑGÔGˆFØˆFØˆFàŒ×Òð à×Ò�BÑÔðð ð ðð ð ð 	ðð ð ð 	ð	ð ð
 ðð ð ð
 ðð ð ð ðð ð ð ðð ð ð 	ðð ð ð ðð ð ð ðð ð ð %&ðð ð ð 
ðð ð 	ðð ð ñ 	ô 	ð 	ð 	ð 	r&   c                 ó¬   — |d u o|                      ¦   «         d u }|j        o|}|                      ||||¬¦  «        }|                      |||¦  «         d S )N©rD  r8  )Úget_hatch_pathÚshould_simplifyr9  Ú_draw_ps)r#   rL  rÙ   rC  ÚrgbFacerD  r8  Úpss           r$   Ú	draw_pathzRendererPS.draw_pathÛ  sh   € ð ˜$ˆÐ> 2×#4Ò#4Ñ#6Ô#6¸$Ð#>ˆØÔ'Ð0¨DˆØ×Ò  i°dÀXÐÑNÔNˆØ�Š�b˜"˜gÑ&Ô&Ð&Ð&Ð&r&   c                 óL  — |                       |¦  «        rd n9|d         |d         cxk    r|d         k    rn nd|d         z  nd|d d…         z  }g d¢}|                     ¦   «         }	|                     ¦   «         s%t          |                     ¦   «         ¦  «        dk    r|                     ¦   «         n|                     ¦   «         d         }
|	dk    o|
dk    }|rŒ|                     d|	z  ¦  «         |                     |                      |                     ¦   «         ¦  «        ¦  «         |                     |  	                    | 
                    ¦   «         ¦  «        ¦  «         |                     |                      ||d	¬
¦  «        ¦  «         |rG|r|                     d¦  «         |r|                     |dg¦  «         |r|                     d¦  «         |r|                     d¦  «         |                     ddg¦  «         |                     |dd| j        dz  | j        dz  fd	¬¦  «        D ];\  }}t          |¦  «        r'|dd …         \  }}|                     d||fz  ¦  «         Œ<d                     |¦  «        }|                      |||d	d	¬¦  «         d S )Nr   r   r  z%1.3f setgrayz%1.3f %1.3f %1.3f setrgbcolorr  )z/o {ÚgsaveÚnewpathÚ	translatez%.1f setlinewidthFr7  rm  ÚfillÚgrestoreÚstrokez
} bind defrò   re  éþÿÿÿz%g %g or·   ©rp  rr  )r  Úget_linewidthÚget_forced_alphar¼   Úget_rgbÚ	get_alphar¿   r   Úget_joinstyler&  Úget_capstyler9  ÚextendÚiter_segmentsr
  r  r|   rh  )r#   rL  Úmarker_pathÚmarker_transrÙ   Útransri  Úps_colorÚps_cmdÚlwÚalpharr  ÚverticesÚcoder‰   r[  rj  s                    r$   Údraw_markerszRendererPS.draw_markersã  sç  € ð ×#Ò# GÑ,Ô,ð?ˆDˆDð �qŒz˜W QœZÐ5Ð5Ò5Ð5¨7°1¬:Ò5Ð5Ð5Ð5Ð5ð ! 7¨1¤:Ñ-Ð-à0°7¸2¸A¸2´;Ñ>ð 	ð ;Ð:Ð:ˆà×ÒÑÔˆà×'Ò'Ñ)Ô)ð&Ý-0°·²±´Ñ->Ô->À!Ò-CÐ-Cð —’‘”�à—j’j‘l”l 1”oð 	ð �a’Ð%˜E AšIˆØð 	@Ø�MŠMÐ-°Ñ2Ñ3Ô3Ð3Ø�MŠM˜$×,Ò,¨R×-=Ò-=Ñ-?Ô-?Ñ@Ô@ÑAÔAÐAØ�MŠM˜$×+Ò+¨B¯OªOÑ,=Ô,=Ñ>Ô>Ñ?Ô?Ð?à�Š�d×(Ò(¨°lØ27ð )ñ 9ô 9ñ 	:ô 	:ð 	:ð ð 	*Øð 'Ø—’˜gÑ&Ô&Ð&Øð 2Ø—’˜x¨Ð0Ñ1Ô1Ð1Øð *Ø—’˜jÑ)Ô)Ð)àð 	$Ø�MŠM˜(Ñ#Ô#Ð#Ø�Š�z <Ð0Ñ1Ô1Ð1à"×0Ò0ØØ˜˜DœJ r™M¨4¬;°r©>Ð:Øð 1ñ  ô  ð 	2ð 	2‰NˆH�dõ �8‰}Œ}ð 2Ø   ”}‘��1Ø—’˜i¨1¨a¨&Ñ0Ñ1Ô1Ð1øà�YŠY�vÑÔˆØ�Š�b˜"˜g¨E¸%ˆÑ@Ô@Ð@Ð@Ð@r&   c                 óÆ  — t          |¦  «        dk    rt          |d         j        ¦  «        nd}|                      |||||¦  «        }|d|z  z   dz   |dz   |z  k     }|s!t          j        | |||||||||	|
|||¦  «        S g }t          |                      |||¦  «        ¦  «        D ]b\  }\  }}d| j        |fz  }|                      ||d¬¦  «        }| j	         
                    d|› d|› d	�¦  «         |                     |¦  «         Œc|                      |||||||	|
|||¦  «        D ]'\  }}}}}d
|||fz  }|                      |||¦  «         Œ(| xj        dz  c_        d S )Nr   r  r  zp%d_%dFr7  r3  z {
newpath
translate
z
} bind def
z%g %g %sr   )r¼   r„  Ú_iter_collection_uses_per_pathr   Údraw_path_collectionÚ	enumerateÚ_iter_collection_raw_pathsr  r9  rè   rÚ   r¿   Ú_iter_collectionrh  )r#   rL  Úmaster_transformÚpathsÚall_transformsÚoffsetsÚoffset_transÚ
facecolorsÚ
edgecolorsÚ
linewidthsÚ
linestylesÚantialiasedsÚurlsÚoffset_positionÚlen_pathÚuses_per_pathÚshould_do_optimizationÚ
path_codesÚirÙ   rC  r²   Ú
path_bytesÚxoÚyoÚpath_idÚgc0ri  rj  s                                r$   r‰  zRendererPS.draw_path_collection  s  € õ .1°©Z¬Z¸!ª^¨^•3�u˜Q”xÔ(Ñ)Ô)Ð)ÀˆØ×;Ò;Ø�> 7¨J¸
ñDô Dˆð �q˜=Ñ(Ñ(¨1Ñ,°¸1±ÀÑ/MÒMð 	à%ð 	!ÝÔ4Ø�bÐ*¨E°>Ø˜ z°:Ø˜J¨°dØñ	!ô !ð !ð ˆ
Ý$-¨d×.MÒ.MØ  %¨ñ/9ô /9ñ %:ô %:ð 	$ð 	$Ñ ˆAÑ ��ià˜tÔ7¸Ð;Ñ;ˆDØ×+Ò+¨D°)ÀeÐ+ÑLÔLˆJØŒN× Ò ð "Øð"ð "ð ð	"ð "ð "ñ ô ð ð ×Ò˜dÑ#Ô#Ð#Ð#à-1×-BÒ-BØ�J ¨Ø˜J¨
°JØ˜d Oñ.5ô .5ð 	,ð 	,Ñ)ˆB��G˜S 'ð ˜r 2 wÐ/Ñ/ˆBØ�MŠM˜"˜c 7Ñ+Ô+Ð+Ð+àÐ Ô  AÑ%Ð Ô Ð Ð r&   )Úmtextc          
      óÚ  — |                       |                     ¦   «         ¦  «        rd S t          | d¦  «        s3|                      d¦  «         |                      ||||||d|¦  «         d S |                      ||d¬¦  «        \  }}	}
|                     ¦   «         }d| j        z  }d|                     ¦   «         d d…         z  }d	d
dœ                     t          j
        d         d         d¦  «        }||z  }d|›d|›�}t          |||
z
  ¦  «        }| j                             d||||dz  |fz  ¦  «         | j                             d|› d|› d�¦  «         | xj        dz  c_        d S )Nrù   zÆThe PS backend determines usetex status solely based on rcParams['text.usetex'] and does not support having usetex=True only for some elements; this element will thus be rendered as if usetex=False.FÚTeX)Úismathz
psmarker%dz%1.3f,%1.3f,%1.3fr  z{\sffamily %s}z{\ttfamily %s})z
sans-serifÚ	monospacezfont.familyr   z{\rmfamily %s}z\color[rgb]{z} z/\psfrag{%s}[bl][bl][1][%f]{\fontsize{%f}{%f}%s}g      ô?rT  z	 moveto
(z)
show
grestore
r   )r  rw  Úhasattrr	  Ú	draw_textÚget_text_width_height_descentÚget_size_in_pointsrø   rK  rö   r÷   r~   rù   r¿   rè   rÚ   )r#   rL  r‰   r[  r�   ÚpropÚangler£  rl   rm   Úblr  Úthetextrû   ÚfontcmdÚtexÚposs                    r$   Údraw_texzRendererPS.draw_texE  sÎ  € ð ×Ò §
¢
¡¤Ñ-Ô-ð 	ØˆFå�t˜XÑ&Ô&ð 	Ø×Òð2ñ3ô 3ð 3ð
 �NŠN˜2˜q ! Q¨¨e°U¸EÑBÔBÐBØˆFà×5Ò5°a¸ÀeÐ5ÑLÔL‰ˆˆ1ˆbØ×*Ò*Ñ,Ô,ˆØ ¤Ñ-ˆØ# b§j¢j¡l¤l°2°A°2Ô&6Ñ6ˆØ!2Ø 1ð3ð 3ß36²3Ý”| MÔ2°1Ô5Ð7Hñ4Jô 4Jð 	ð �a‰KˆˆØ', u u¨a¨aÐ0ˆõ ˜1˜a ™dÑ#Ô#ˆØŒ×ÒØ>Ø˜ ¨(°4©-¸ðB>ñ >ñ	?ô 	?ð 	?ð 	Œ×Òð àðð ð 
ðð ð ñ 	ô 	ð 	ð 	ˆŒ˜ÑˆŒˆˆr&   c	                 ó  — |                       |                     ¦   «         ¦  «        rd S |dk    r|                      ||||||¦  «        S |r|                      ||||||¦  «        S g }	t          j        d         �r|                      |¦  «        }
|
j                             dd¦  «         	                    d¦  «        }d| 
                    ¦   «         z  }d}d }|D ]³}t          j        t          |¦  «        dt          |¦  «        d›�¦  «        }	 |
                     |¦  «        }n'# t          $ r d	}|
                     d
¦  «        }Y nw xY w|
                     ||¦  «        }|}|||z  z  }|	                     |||f¦  «         |||z  z  }Œ´n·|                      |¦  «        }
| j                             |
|¦  «         t-          j        ||
¦  «        D ]q}|j        j                             dd¦  «         	                    d¦  «        }|j                             |j        ¦  «        }|	                     ||j        |f¦  «         Œr | j        |                     ¦   «         Ž  t;          j        |	d„ ¦  «        D ]�\  }}|                      || 
                    ¦   «         d¦  «         d                      d„ |D ¦   «         ¦  «        }| j!         "                    d|  #                    |¦  «        › d|d›d|d›d|d›d|› d�¦  «         ŒŽd S )Nr¥  rñ   rŠ   r‹   gü©ñÒMbP?r   ÚuniÚ04XÚquestionú?c                 ó   — | d         S )Nr   r*   )Úentrys    r$   r0   z&RendererPS.draw_text.<locals>.<lambda>›  s
   € ¨e°A¬h€ r&   Fr·   c              3   ó2   K  — | ]\  }}}|d ›d|d›d�V — ŒdS )rÈ   z 0 m /r�   z
 glyphshowNr*   )ry   Ú_r‰   r²   s       r$   r{   z'RendererPS.draw_text.<locals>.<genexpr>�  sS   è è € ð  9ð  9Ù$. A q¨$ð $%Ð @Ð @Ð @¨dÐ @Ð @Ð @Ð @ð  9ð  9ð  9ð  9ð  9ð  9r&   rT  rÈ   rs   ú translate
ú rotate
rU  )$r  rw  r³  Údraw_mathtextrö   r÷   Ú_get_font_afmr¸   ÚencoderŽ   r«  r   rK  r‡   Úget_width_from_char_nameÚKeyErrorÚget_width_charÚget_kern_dist_from_namer¿   Ú_get_font_ttfr  Útrackr	   ÚlayoutÚ	ft_objectr¬   Ú	glyph_idxr‰   r  Ú	itertoolsÚgroupbyr5  r|   rè   rÚ   rP  )r#   rL  r‰   r[  r�   r¬  r­  r¦  r£  Ústreamr¨   Úps_namer;  ÚthisxÚ	last_namer§   r²   r
  ÚkernÚitemÚ
glyph_namerˆ   r¯  s                          r$   r©  zRendererPS.draw_textm  s�  € ð ×Ò §
¢
¡¤Ñ-Ô-ð 	ØˆFà�UŠ?ˆ?Ø—=’=  Q¨¨1¨d°EÑ:Ô:Ð:àð 	@Ø×%Ò% b¨!¨Q°°4¸Ñ?Ô?Ð?àˆåŒ<˜Ô$ñ 	=Ø×%Ò% dÑ+Ô+ˆDØÔ+×2Ò2°7¸IÑFÔFßš ™œð à˜D×3Ò3Ñ5Ô5Ñ5ˆEØˆEØˆIØð 'ð '�Ý ”}¥S¨¡V¤VÐ-?µ3°q±6´6Ð-?Ð-?Ð-?Ñ@Ô@�ð5Ø ×9Ò9¸$Ñ?Ô?�E�EøÝð 5ð 5ð 5Ø%�DØ ×/Ò/°Ñ4Ô4�E�E�Eð5øøøð ×3Ò3°I¸tÑDÔD�Ø �	Ø˜ ™Ñ%�Ø—’˜w¨¨tÐ4Ñ5Ô5Ð5Ø˜ ™Ñ&��ð'ð ×%Ò% dÑ+Ô+ˆDØÔ#×)Ò)¨$°Ñ2Ô2Ð2Ý%Ô,¨Q°Ñ5Ô5ð =ð =�Øœ>Ô9ß"šF 7¨IÑ6Ô6·v²v¸g±´ð à!œ^×:Ò:¸4¼>ÑJÔJ�
Ø—’˜w¨¬°
Ð;Ñ<Ô<Ð<Ð<ØˆŒ˜Ÿ
š
™œÐ%Ð%å'Ü˜Ð 6Ð 6ñ8ô 8ð 	ð 	‰NˆG�Uà�MŠM˜' 4×#:Ò#:Ñ#<Ô#<¸eÑDÔDÐDØ—i’ið  9ð  9Ø27ð 9ñ  9ô  9ñ 9ô 9ˆGàŒN× Ò ð "à×Ò�BÑÔð"ð "ð ð"ð "ð "ð 	ð"ð "ð "ð ð	"ð "ð "ð
 	ð"ð "ð "ñ ô ð ð ð	ð 	s   ÄD'Ä'!EÅ
Ec                 ó>  — | j         j                             |d|¦  «        \  }}}	}
} | j        |                     ¦   «         Ž  | j                             d|d›d|d›d|d›d�¦  «         d}|
D ]ã\  }}}}}| j                             ||¦  «         |j	        |f|k    r/|j	        |f}| j                             d|j	        › d|› d	�¦  «         t          |t          ¦  «        r"|                     t          |¦  «        ¦  «        n'|                     |                     |¦  «        ¦  «        }| j                             |d›d|d›d
|› d�¦  «         Œä|D ]-\  }}}}| j                             |› d|› d|› d|› d�¦  «         Œ.| j                             d¦  «         dS )z-Draw the math text using matplotlib.mathtext.rò   rT  rÈ   rs   r½  r¾  Nr3  r4  z	 moveto
/z glyphshow
z
 rectfill
ú	grestore
)Ú
_text2pathÚmathtext_parserÚparser  rw  rè   rÚ   r  Útrack_glyphr¸   Ú
isinstancer
   Úget_name_charrÍ   r¬   r¥   )r#   rL  r‰   r[  r�   r¬  r­  r
  r  ÚdescentÚglyphsÚrectsÚlastfontr¨   r  ÚnumÚoxÚoyrÓ  rl   rm   s                        r$   r¿  zRendererPS.draw_mathtext¨  s<  € ð ŒOÔ+×1Ò1°!°R¸Ñ>Ô>ñ 	.ˆˆv�w ¨àˆŒ˜Ÿ
š
™œÐ%Ð%ØŒ×Òð"ØÐ&ð"ð "ØÐ&ð"ð "àÐ!ð"ð "ð "ñ	#ô 	#ð 	#ð ˆØ+1ð 	.ð 	.Ñ'ˆD�(˜C  RØÔ#×/Ò/°°cÑ:Ô:Ð:ØÔ$ hÐ/°8Ò;Ð;ØÔ/°Ð9�Ø”×$Ò$ØF˜Ô,ÐFÐF¨xÐFÐFÐFñHô Hð Hõ 1;¸4ÅÑ0EÔ0Eð >�×"Ò"¥3 s¡8¤8Ñ,Ô,Ð,Ø×#Ò# D×$7Ò$7¸Ñ$<Ô$<Ñ=Ô=ð ð ŒN× Ò ØÐ)ð -ð -˜"Ð)ð -ð -Øð-ð -ð -ñ.ô .ð .ð .ð "ð 	Bð 	B‰LˆB��A�qØŒN× Ò  BÐ!@Ð!@¨Ð!@Ð!@¨aÐ!@Ð!@°!Ð!@Ð!@Ð!@ÑAÔAÐAÐAØŒ×Ò˜\Ñ*Ô*Ð*Ð*Ð*r&   c                 ó‚   — |                       ||                     d¦  «        |                     d¦  «        |¦  «         d S )N)r   r  r  )r   r  r  )Údraw_gouraud_trianglesÚreshape)r#   rL  ÚpointsÚcolorsr  s        r$   Údraw_gouraud_trianglez RendererPS.draw_gouraud_triangleÃ  sJ   € à×#Ò# B¨¯ª°yÑ(AÔ(AØ$*§N¢N°9Ñ$=Ô$=¸uñ	Fô 	Fð 	Fð 	Fð 	Fr&   c                 óÔ  — t          |¦  «        t          |¦  «        k    sJ ‚|j        dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        }|                     |d         |d         z  df¦  «        }|                     |¦  «        }|                     |d         |d         z  df¦  «        }t          j        |d¬¦  «        dz
  }t          j        |d¬¦  «        dz   }	t          j        d|	|z
  z  ¦  «        }
|\  }}|	\  }}t          j	        |d         |d         z  g d	¢¬
¦  «        }d|d<   ||z
  |
z  |d<   |d d …d d…f         dz  |d<   | 
                    ¦   «                              dd¦  «        }| j                             d|d›d|d›d|d›d|d›d|› d�¦  «         d S )Nr  r   r  r  r   )Úaxisi   l   ÿÿ ))ÚflagsÚu1)ræ  z2>u4)rç  Ú3u1)Údtyperë  ræ  g     ào@rç  r·   rS  z–gsave
<< /ShadingType 4
   /ColorSpace [/DeviceRGB]
   /BitsPerCoordinate 32
   /BitsPerComponent 8
   /BitsPerFlag 8
   /AntiAlias true
   /Decode [ rÈ   rs   z  0 1 0 1 0 1 ]
   /DataSource <
z
>
>>
shfill
grestore
)r¼   ÚndimrV  rå  rC  r+  ÚminÚmaxÚceilÚemptyrW  rX  rè   rÚ   )r#   rL  ræ  rç  r  rV  Úflat_pointsÚflat_colorsÚ
points_minÚ
points_maxÚfactorÚxminÚyminÚxmaxÚymaxr^  r_  s                    r$   rä  z!RendererPS.draw_gouraud_trianglesÈ  su  € å�6‰{Œ{�c &™kœkÒ)Ð)Ð)Ð)ØŒ{˜aÒÐÐÐØŒ|˜AŒ !Ò#Ð#Ð#Ð#ØŒ|˜AŒ !Ò#Ð#Ð#Ð#ØŒ{˜aÒÐÐÐØŒ|˜AŒ !Ò#Ð#Ð#Ð#ØŒ|˜AŒ !Ò#Ð#Ð#Ð#à”ˆØ—n’n e¨A¤h°°q´Ñ&9¸1Ð%=Ñ>Ô>ˆØ—o’o kÑ2Ô2ˆØ—n’n e¨A¤h°°q´Ñ&9¸1Ð%=Ñ>Ô>ˆÝ”V˜K¨aÐ0Ñ0Ô0°GÑ<ˆ
Ý”V˜K¨aÐ0Ñ0Ô0°GÑ<ˆ
Ý”˜+¨*°zÑ*AÑBÑCÔCˆà‰
ˆˆdØ‰
ˆˆdåŒxØ�!ŒH�u˜Q”xÑØJÐJÐJðLñ Lô Lˆð ˆˆW‰Ø%¨
Ñ2°fÑ<ˆˆX‰Ø$ Q Q Q¨¨¨ UÔ+¨eÑ3ˆˆX‰Ø—,’,‘.”.×$Ò$ T¨3Ñ/Ô/ˆàŒ×Òð ð ðð ð ð ðð ð ð !%ðð ð ð *.ðð ð ð 	ðð ð ñ 	ô 	ð 	ð 	ð 	r&   rt  c                ót  — | j         j        }|                     ¦   «         dk    o'|                      |                     ¦   «         ¦  «         }|sd}|                      |¦  «        rd}|                     ¦   «         }|r‘|                      |                     ¦   «         ¦  «         |                      |                     ¦   «         ¦  «         |  	                    | 
                    ¦   «         ¦  «          | j        |                     ¦   «         Ž  |s|r$ | j        |                     ¦   «         dd…         Ž   |d¦  «          ||                      |¦  «        ¦  «          ||                     ¦   «         ¦  «          |d¦  «         |r>|s|r |d¦  «          | j        |dd…         ddiŽ  |d¦  «         |s|r |d	¦  «         |rV|                      |¦  «        }	 |d¦  «          |d
|                     ¦   «         dd…         z  ¦  «          |d|	z  ¦  «         |r |d¦  «          |d	¦  «         dS )at  
        Emit the PostScript snippet *ps* with all the attributes from *gc*
        applied.  *ps* must consist of PostScript commands to construct a path.

        The *fill* and/or *stroke* kwargs can be set to False if the *ps*
        string already includes filling and/or stroking, in which case
        `_draw_ps` is just supplying properties and clipping.
        r   FNr  rT  r·   r  zfill
rÕ  z	%f %f %f z%s setpattern fill grestore
zstroke
)rè   rÚ   ru  r  rw  Ú	get_hatchr  r"  ry  r(  rz  r1  Ú
get_dashesr  rP  Ústripr>  Úget_hatch_color)
r#   rj  rL  ri  rp  rr  rÚ   Úmightstroker:  Ú
hatch_names
             r$   rh  zRendererPS._draw_psö  sŠ  € ð ”Ô$ˆØ×'Ò'Ñ)Ô)¨AÒ-ð BØ#×3Ò3°B·J²J±L´LÑAÔAÐAð 	àð 	ØˆFØ×Ò Ñ(Ô(ð 	ØˆDØ—’‘”ˆàð 	0Ø×Ò˜r×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ø×Ò˜b×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø×Ò˜RŸ_š_Ñ.Ô.Ñ/Ô/Ð/ØˆDÔ˜rŸ}š}™œÐ/Ð/Øð 	.˜%ð 	.ØˆDŒN˜BŸJšJ™LœL¨¨!¨Ô,Ð-Ð-ØˆˆiÑÔÐàˆˆd× Ò  Ñ$Ô$Ñ%Ô%Ð%àˆˆb�hŠh‰jŒjÑÔÐØˆˆd‰Œˆàð 	$Øð !˜ð !Ø��iÑ Ô Ð ØˆDŒN˜G B Q BœKÐ5¨uÐ5Ð5Ð5ØˆE�(‰OŒOˆOØð $˜ð $Ø��lÑ#Ô#Ð#àð 	@Ø×*Ò*¨5Ñ1Ô1ˆJØˆE�)ÑÔÐØˆE�+ × 2Ò 2Ñ 4Ô 4°R°a°RÔ 8Ñ8Ñ9Ô9Ð9ØˆEÐ1°JÑ>Ñ?Ô?Ð?àð 	ØˆE�*ÑÔÐàˆˆlÑÔÐÐÐr&   )rò   )T)FNr    )#r'   r(   r)   Ú__doc__r   Ú_get_data_pathÚ_afm_font_dirÚ_use_afm_rc_namer%   r  r  r  Ústaticmethodr   r"  r&  r(  r1  r5  r>  r@  r9  rP  rî   rc  rk  r†  r‰  r³  r©  r¿  rè  rä  rh  Ú__classcell__©r  s   @r$   rð   rð     s·  ø€ € € € € ðð ð
 )�EÔ(¨Ñ5Ô5€MØ"ÐðEð Eð Eð Eð Eð Eð6ð ð ð'ð 'ð 'ð 'ð+ð +ð +ð +ð ð-ð -ñ „\ð-ð)ð )ð )ð )ð ð+ð +ñ „\ð+ð'ð 'ð 'ð 'ð*ð *ð *ð *ð)ð )ð )ð )ð ð  ð  ðD(ð (ð (ðEð Eð Eð Eðð ð ð, ðð ð ñ Ôðð@ ð'ð 'ð 'ñ Ôð'ð àFJð2Að 2Að 2Añ Ôð2Aðh ð*&ð *&ñ Ôð*&ðX Ø:>ð %ð %ð %ð %ñ Ôð%ðN ð8ð 8ð 8ñ Ôð8ðt ð+ð +ñ Ôð+ð4 ðFð Fñ ÔðFð ð+ð +ñ Ôð+ðZ 15¸Tð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r&   rð   c                   ó0   — e Zd Z ed¦  «        \  ZZd„ ZdS )Ú_Orientationr  c                 ó2   — | j         dk    r|d d d…         n|S )NÚ	landscaperR  )r²   )r#   rV  s     r$   Úswap_if_landscapez_Orientation.swap_if_landscape-  s"   € Ø"œi¨;Ò6Ð6ˆu�T�T�r�TŒ{ˆ{¸EÐAr&   N)r'   r(   r)   ÚrangeÚportraitr  r  r*   r&   r$   r  r  *  s:   € € € € € Ø˜% ™(œ(Ñ€HˆiðBð Bð Bð Bð Br&   r  c                   ó    ‡ — e Zd ZdZdddœZd„ Zdddddœd	„Zdd
œd„Zdd
œd„Z e	j
        ed¦  «        Z e	j
        ed¦  «        Zˆ fd„Zˆ xZS )ÚFigureCanvasPSrò   Ú
PostscriptzEncapsulated Postscript)rj  Úepsc                 ó   — dS )Nrj  r*   r"   s    r$   Úget_default_filetypez#FigureCanvasPS.get_default_filetype6  s   € Øˆtr&   Nr  )ÚmetadataÚ	papertypeÚorientationÚbbox_inches_restorec          	      óÖ  — | j         j        }d| j         _        i }	t          |t          t          j        f¦  «        rEt          j        |¦  «        j        }
|
 	                    dd¦  «         
                    d¦  «        |	d<   |pi                      ddt          j        › d�¦  «        |	d<   t	          j        d¦  «        }|r?t          j                             t#          |¦  «        ¦  «                             d	¦  «        nt'          j        ¦   «         |	d
<   d                     d„ |	                     ¦   «         D ¦   «         ¦  «        }	|€t          j        d         }|                     ¦   «         }t3          j        dgt6          ¢|¬¦  «         t3          j        t:          |                     ¦   «         ¬¦  «        }t          j        d         r| j        n| j        } |||f||	|||dœ|¤Ž d S )Nrò   rŠ   r‹   ÚTitleÚCreatorzMatplotlib vz, https://matplotlib.org/ÚSOURCE_DATE_EPOCHz%a %b %d %H:%M:%S %YÚCreationDater·   c              3   ó,   K  — | ]\  }}d |› d|› �V — ŒdS )z%%z: Nr*   )ry   ÚkrÉ   s      r$   r{   z+FigureCanvasPS._print_ps.<locals>.<genexpr>P  sC   è è € ð !<ð !<Ù"˜a ˆM�ˆMˆM�aˆMˆMð!<ð !<ð !<ð !<ð !<ð !<r&   zps.papersizeÚauto)r  )r  rô   )ÚdpiÚdsc_commentsr  r  r  ) Úfigurer$  rÚ  r»   rÔ   ÚPathLikeÚpathlibr   r²   rÁ  rŽ   rK  rö   Ú__version__ÚgetenvÚdatetimeÚutcfromtimestampÚintÚstrftimeÚtimeÚctimer|   rj   r÷   Úlowerr   Úcheck_in_listri   Úcheck_getitemr  Ú_print_figure_texÚ_print_figure)r#   ÚfmtÚoutfiler  r  r  r  ré   r$  r%  ÚfilenameÚsource_date_epochÚprinters                r$   Ú	_print_pszFigureCanvasPS._print_ps9  s  € ð
 ŒkŒoˆØˆŒŒàˆÝ�g¥¥R¤[Ð1Ñ2Ô2ð 	DÝ”| GÑ,Ô,Ô1ˆHà—’ ¨Ñ3Ô3×:Ò:¸7ÑCÔCð ˜Ñ!à#+ >¨r×"6Ò"6ØØE�3œ?ÐEÐEÐEñ#Gô #Gˆ�YÑõ œIÐ&9Ñ:Ô:Ðð !ð�HÔ×.Ò.ÝÐ%Ñ&Ô&ñ(ô (ß(0ªÐ1GÑ(HÔ(HÐ(Hå”‘”ð	 	�^Ñ$ð
 —y’yð !<ð !<Ø&2×&8Ò&8Ñ&:Ô&:ð!<ñ !<ô !<ñ <ô <ˆð ÐÝœ ^Ô4ˆIØ—O’OÑ%Ô%ˆ	ÝÔ˜FÐ/¥YÐ/¸9ÐEÑEÔEÐEåÔ(Ý k×&7Ò&7Ñ&9Ô&9ð;ñ ;ô ;ˆõ ”l =Ô1ð&�4Ô)Ð)àÔ%ð 	ð 	ˆ��Wð 	C #°LØ'°9Ø$7ð	Cð 	Cà;Að	Cð 	Cð 	Cð 	Cð 	Cr&   ©r  c                óª  ‡ ‡‡‡‡‡‡‡‡‡‡‡— |dk    Št          |t          t          j        f¦  «        st	          |¦  «        st          d¦  «        ‚‰ j                             ¦   «         \  ŠŠ‰dk    rt          ‰ 	                    ‰‰f¦  «        Ž Š‰ 	                    t          ‰         ¦  «        \  }}	t          j        d         rM‰|k    s‰|	k    rAt          ‰ 	                    ‰‰f¦  «        Ž Š‰ 	                    t          ‰         ¦  «        \  }}	d|‰z
  z  Šd|	‰z
  z  Š‰}
‰}|
‰ j        j        j        z   }|‰ j        j        j        z   }dŠ‰t           j        u r||
||f\  }
}}}d|	z  ‰z
  ‰cŠŠdŠ|
|||fŠt%          ¦   «         ‰ _        t)          ‰‰‰ j        |¬	¦  «        Št+          ‰ j        ‰‰|‰|¬
¦  «        }‰ j                             |¦  «         ˆˆˆˆˆˆˆˆˆ ˆˆˆfd„}t          j        d         rít/          ¦   «         5 }t          j                             |d¦  «        }t5          |dd¬¦  «        5 } ||¦  «         ddd¦  «         n# 1 swxY w Y   t          j        d         dk    rt7          t8          |‰‰‰¬¦  «         n/t          j        d         dk    rt7          t:          |‰‰‰¬¦  «         t=          ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS t?          j         |dd¬¦  «        5 }tC          |¦  «        s tE          j#        d¦  «        |¦  «        } ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )a'  
        Render the figure to a filesystem path or a file-like object.

        Parameters are as for `.print_figure`, except that *dsc_comments* is a
        string containing Document Structuring Convention comments,
        generated from the *metadata* parameter to `.print_figure`.
        r  z,outfile must be a path or a file-like objectr#  úps.usedistillerg      B@r   rò   éZ   ©rú   r<  c           	      ó”  •— ‰rt          d| ¬¦  «         nt          d‰
› d�d| ¬¦  «         t          ‰› d‰	j        › dt          ‰¦  «        d	         › d
�d| ¬¦  «         t          t          ¦  «        }t          d| ¬¦  «         t
          j        d         s|t          ‰j        j        ¦  «        z  }t          d|z  | ¬¦  «         t          d| ¬¦  «         t          d 	                    t          ¦  «        | ¬¦  «         t
          j        d         s�‰j        j         
                    ¦   «         D ]~\  }}|sŒt
          j        d         }t          |¦  «        dk    rd}|                      ¦   «          |dk    r$|                      t          ||¦  «        ¦  «         Œmt          ||| ¦  «         Œt          d| ¬¦  «         t          d| ¬¦  «         ‰st          d| ¬¦  «         t          d| ¬¦  «         t          dt          ‰‰¦  «        z  | ¬¦  «         ‰rt          d‰z  | ¬¦  «         t          dt          ‰dz  ‰dz  d	d	¦  «        z  | ¬¦  «         t          ‰j                             ¦   «         | ¬¦  «         t          d| ¬¦  «         t          d| ¬¦  «         ‰st          d| ¬¦  «         |                      ¦   «          d S )Nz%!PS-Adobe-3.0 EPSF-3.0)Úfilez%%!PS-Adobe-3.0
%%DocumentPaperSizes: z
%%Pages: 1
r-   )ÚendrB  z
%%Orientation: r·   r   z
%%EndComments
z%%BeginPrologrñ   z/mpldict %d dict defzmpldict beginzps.fonttypeéÿ   rÐ   r  rC  z%%EndPrologz%%Page: 1 1z%s translatez	%d rotatez
%s clipboxrò   Úshowpagez%%EOF)Úprintr²   Úget_bbox_headerr¼   ÚpsDefsrö   r÷   r  Úusedr|   rj   ÚflushrÚ   rÊ   rä   r~   rè   rÛ   )rŸ   ÚNdictrÂ   rÃ   Úfonttyper°   r%  r  Úis_epsr  r  Úps_rendererÚrotationr#   r
  rŸ  r   s        €€€€€€€€€€€€r$   Úprint_figure_implz7FigureCanvasPS._print_figure.<locals>.print_figure_impl›  s9  ø€ àð 'ÝÐ/°bÐ9Ñ9Ô9Ð9Ð9åð &Ø/8ð&ð &ð &ð  2ð'ñ 'ô 'ð 'õ �\ð %ð %Ø$/Ô$4ð%ð %å$ TÑ*Ô*¨1Ô-ð%ð %ð %ð ˜rð	#ñ #ô #ð #õ �‘K”KˆEÝ�/¨Ð+Ñ+Ô+Ð+Ý”< Ô,ð BØ�˜[Ô;Ô@ÑAÔAÑA�ÝÐ(¨5Ñ0°rÐ:Ñ:Ô:Ð:Ý�/¨Ð+Ñ+Ô+Ð+Ý�$—)’)�FÑ#Ô#¨"Ð-Ñ-Ô-Ð-Ý”< Ô,ð Aà&Ô9Ô>×DÒDÑFÔFðAð AÑ$�I˜uà ð !Ø Ý"œ|¨MÔ:�Hå˜5‘z”z CÒ'Ð'Ø#%˜Ø—H’H‘J”J�JØ 1’}�}ØŸšÕ!2°9¸eÑ!DÔ!DÑEÔEÐEÐEå*¨9°e¸RÑ@Ô@Ð@Ð@Ý�%˜bÐ!Ñ!Ô!Ð!Ý�- bÐ)Ñ)Ô)Ð)àð .Ý�m¨"Ð-Ñ-Ô-Ð-Ý�/¨Ð+Ñ+Ô+Ð+å�.¥<°°BÑ#7Ô#7Ñ7¸bÐAÑAÔAÐAØð 7Ý�k HÑ,°2Ð6Ñ6Ô6Ð6Ý�,¥¨e°B©h¸¸r¹	À1ÀaÑ!HÔ!HÑHØðñ ô ð õ �$”.×)Ò)Ñ+Ô+°"Ð5Ñ5Ô5Ð5õ �%˜bÐ!Ñ!Ô!Ð!Ý�* 2Ð&Ñ&Ô&Ð&Øð (Ý�g BÐ'Ñ'Ô'Ð'Ø�HŠH‰JŒJˆJˆJˆJr&   útmp.psrl   r“   r”   NÚghostscript)Úptyper°   Úxpdf)$rÚ  r»   rÔ   r'  r   Ú
ValueErrorr&  Úget_size_inchesrq   r  ri   rö   r÷   r°   r
  r  r  r  r   rè   rð   r   Údrawr   rÙ   r|   r˜   Ú_try_distillÚ
gs_distillÚxpdf_distillr    r   Úopen_file_cmr   ÚcodecsÚ	getwriter)r#   r6  r7  r$  r%  r  r  r  Úpaper_widthÚpaper_heightÚllxÚllyÚurxÚuryÚrendererrP  rá   râ   rŸ   rB  r°   r  rM  rN  rO  r
  rŸ  r   s   `   ```             @@@@@@@@r$   r5  zFigureCanvasPS._print_figureb  sÀ  øøøøøøøøøøøø€ ð ˜’ˆÝ˜7¥S­"¬+Ð$6Ñ7Ô7ð 	MÝ(¨Ñ1Ô1ð	MåÐKÑLÔLÐLð œ×3Ò3Ñ5Ô5‰ˆˆvØ˜ÒÐÝ&Ø×.Ò.°°v¨Ñ?Ô?ðAˆIà$/×$AÒ$AÝ�iÔ ñ%"ô %"Ñ!ˆ�\õ Œ<Ð)Ô*ð 	*à�{Ò"Ð" f¨|Ò&;Ð&;Ý*Ø ×2Ò2°E¸6°?ÑCÔCðE�	à,7×,IÒ,IÝ˜iÔ(ñ-*ô -*Ñ)�˜\ð ˜ uÑ,Ñ-ˆØ˜¨Ñ.Ñ/ˆàˆØˆØ�D”KÔ$Ô*Ñ*ˆØ�D”KÔ$Ô+Ñ+ˆØˆØ�,Ô0Ð0Ð0Ø!$ c¨3°Ð!3ÑˆC��c˜3Ø˜,Ñ&¨Ñ+¨RˆFˆB�ØˆHØ�S˜#˜sÐ#ˆå!™œˆŒõ ! ¨°´ÈÐMÑMÔMˆÝ$ØŒK˜ ¨¨[Ø 3ð5ñ 5ô 5ˆð 	Œ×Ò˜Ñ"Ô"Ð"ð9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	ð 9	õv Œ<Ð)Ô*ð 	(õ $Ñ%Ô%ð 
?¨Ýœ'Ÿ,š, v¨xÑ8Ô8�Ý˜' 3°Ð;Ñ;Ô;ð *¸rØ%Ð% bÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å”<Ð 1Ô2°mÒCÐCÝ ¥Ø!(¨&¸	ÈðNñ Nô Nð Nð Nå”\Ð"3Ô4¸Ò>Ð>Ý ¥Ø!(¨&¸	ÈðNñ Nô Nð Nå,¨W°gÑ>Ô>Ð>ð
?ð 
?ð 
?ñ 
?ô 
?ð 
?ð 
?ð 
?ð 
?ð 
?ð 
?ð 
?øøøð 
?ð 
?ð 
?ð 
?ð 
?ð 
?õ Ô# G¨S¸9ÐEÑEÔEð (ÈÝ,¨TÑ2Ô2ð =Ø6�6Ô+¨IÑ6Ô6°tÑ<Ô<�DØ!Ð! $Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (sI   È3KÉ IÉKÉI	ÉKÉI	É A2KËK#Ë&K#Ì8MÍMÍMc                óR  — |dk    }| j                              ¦   «         \  }	}
d}d}|}|}|| j         j        j        z   }|| j         j        j        z   }||||f}t          ¦   «         | _        t          |	|
| j        |¬¦  «        }t          | j         |	|
|||¬¦  «        }| j          	                    |¦  «         t          ¦   «         5 }t          j        |d¦  «        }|                     d|› dt          |¦  «        d         › dt          t           ¦  «        › d	d
                     t           ¦  «        › dt%          ||¦  «        › dt%          |	dz  |
dz  ¦  «        › d| j                             ¦   «         › d�d¬¦  «         |t(          j        u r
|
|	}
}	||||f}|r0|                     | j                              ¦   «         ¦  «        \  }}n&|dk    rt/          |	|
¦  «        }t0          |         \  }}t3          ||j        |||j        ¦  «        }t8          j        d         dk    st8          j        d         rt=          t>          |||||¬¦  «         n0t8          j        d         dk    rt=          t@          |||||¬¦  «         tC          ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )a(  
        If :rc:`text.usetex` is True, a temporary pair of tex/eps files
        are created to allow tex to manage the text layout via the PSFrags
        package. These files are processed to yield the final ps or eps file.

        The rest of the behavior is as for `._print_figure`.
        r  r   r@  r<  rQ  z%!PS-Adobe-3.0 EPSF-3.0
r·   z&
%%EndComments
%%BeginProlog
/mpldict z dict def
mpldict begin
r-   z
end
%%EndProlog
mpldict begin
r½  rò   z 0 0 clipbox
z
end
showpage
r“   r”   r#  r>  rR  rô   )rS  r°   ÚrotatedrT  N)"r&  rV  r°   r
  r  r   rè   rð   r   rW  r   r(  r   Ú
write_textrG  r¼   rH  r|   r~   rÛ   r  r  r  rq   ri   Ú_convert_psfragsrù   r²   rö   r÷   rX  rY  rZ  r    )r#   r6  r7  r$  r%  r  r  r  rM  r
  r  rŸ  r   r`  ra  rb  rc  r°   rN  rd  rá   Útmppathr^  r_  Úpsfrag_rotateds                            r$   r4  z FigureCanvasPS._print_figure_texë  so  € ð ˜’ˆàœ×3Ò3Ñ5Ô5‰ˆˆvØˆØˆàˆØˆØ�D”KÔ$Ô*Ñ*ˆØ�D”KÔ$Ô+Ñ+ˆØ�S˜#˜sÐ#ˆå!™œˆŒõ ! ¨°´ÈÐMÑMÔMˆÝ$ T¤[Ø%*¨F°C¸Ø9LðNñ Nô Nˆð 	Œ×Ò˜Ñ"Ô"Ð"õ  Ñ!Ô!ð 4	; VÝ”l 6¨8Ñ4Ô4ˆGØ×Òðàðð õ �ÑÔ�qÔðð õ �f‰+Œ+ðð ð ‡‚��„ðð õ ˆb�"ÑÔðð õ ˆe�B‰h˜˜r™	Ñ"Ô"ðð ð „×ÒÑÔðð ð ð$ #ð' ñ $ô $ð $ð* �lÔ4Ð4Ð4Ø &¨�v�Ø˜S # sÐ+�ð
 ð AØ,7×,IÒ,IØ”K×/Ò/Ñ1Ô1ñ-3ô -3Ñ)�˜\˜\ð  Ò&Ð&Ý .¨u°fÑ =Ô =�IÝ,5°iÔ,@Ñ)�˜\å-Ø˜Ô+¨[¸,ØÔ ñ"ô "ˆNõ ”Ð.Ô/°=Ò@Ð@Ý”| MÔ2ð Aå�ZØ$ f°IÀDØ%3ð5ñ 5ô 5ð 5ð 5õ ”Ð/Ô0°FÒ:Ð:Ý�\Ø$ f°IÀDØ%3ð5ñ 5ô 5ð 5õ )¨°'Ñ:Ô:Ð:ði4	;ð 4	;ð 4	;ñ 4	;ô 4	;ð 4	;ð 4	;ð 4	;ð 4	;ð 4	;ð 4	;ð 4	;øøøð 4	;ð 4	;ð 4	;ð 4	;ð 4	;ð 4	;s   ÃG	JÊJ Ê#J rj  r  c                 óv   •— | j                              ¦   «          t          ¦   «                              ¦   «         S r    )r&  Údraw_without_renderingrõ   rW  )r#   r  s    €r$   rW  zFigureCanvasPS.drawF  s)   ø€ ØŒ×*Ò*Ñ,Ô,Ð,Ý‰wŒw�|Š|‰~Œ~Ðr&   )r'   r(   r)   Ú	fixed_dpiÚ	filetypesr  r;  r5  r4  rì   ÚpartialmethodÚprint_psÚ	print_epsrW  r	  r
  s   @r$   r  r  1  sû   ø€ € € € € Ø€IØ#Ø1ð3ð 3€Iðð ð ð
  T°zØ $ð'Cð 'Cð 'Cð 'Cð 'CðX !%ðG(ð G(ð G(ð G(ð G(ðX !%ðV;ð V;ð V;ð V;ð V;ðp 'ˆyÔ& y°$Ñ7Ô7€HØ'�	Ô'¨	°5Ñ9Ô9€Iðð ð ð ð ð ð ð ð r&   r  c                 óL   — t          t          j        | ¦  «        ||||¦  «        S r    )rh  r(  r   )râ   ÚpsfragsÚfont_preambleÚcustom_preambler^  r_  r  s          r$   Úconvert_psfragsrv  K  s.   € õ ÝŒ�WÑÔ˜w¨°\À;ñPô Pð Pr&   c           	      ó˜  — t          j        dt           j        d         t           j                             d¦  «        z   t           j                             d¦  «        z   t           j                             d¦  «        z   d||dœz  z   i¦  «        5  t          ¦   «                              dd                     |¦  «        |d	k    rd
nd|                      ¦   «          	                    ¦   «         dœz  d¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          ¦   «         5 }t          j                             |d¦  «        }t          j        dddd||gt          ¦  «         t!          j        || ¦  «         ddd¦  «         n# 1 swxY w Y   t%          | ¦  «        5 }d|                     d¦  «        v }	ddd¦  «         n# 1 swxY w Y   |	S )aj  
    When we want to use the LaTeX backend with postscript, we write PSFrag tags
    to a temporary postscript file, each one marking a position for LaTeX to
    render some text. convert_psfrags generates a LaTeX document containing the
    commands to convert those tags to text. LaTeX/dvips produces the postscript
    file that includes the actual text.
    ztext.latex.preamblerû   Úgraphicxrù   z:\geometry{papersize={%(width)sin,%(height)sin},margin=0in})r
  r  zt
\begin{figure}
  \centering\leavevmode
  %(psfrags)s
  \includegraphics*[angle=%(angle)s]{%(epsfile)s}
\end{figure}r·   r  r?  r   )rs  r­  Úepsfileé
   )r  NrQ  Údvipsz-qz-R0z-oÚ	Landscapeiè  )rö   Ú
rc_contextr÷   Ú
texmanagerÚ_usepackage_if_not_loadedr   Úmake_dvir|   ÚresolveÚas_posixr   rÔ   rÙ   r   Ú_check_and_log_subprocessrÑ   r™   r›   r˜   Úread)
ri  rs  r^  r_  r  Údvifilerá   ÚpsfilerŸ   rj  s
             r$   rh  rh  R  sƒ  € õ 
ŒØ!ÝŒLÐ.Ô/ÝŒN×4Ò4°WÑ=Ô=ñ>åŒN×4Ò4°ZÑ@Ô@ñAõ ŒN×4Ò4°XÑ>Ô>ñ?ð JØ#¨|Ð<Ð<ñ=ñ	=ðñ 
ô 
ð ð õ ‘,”,×'Ò'ðð  Ÿ9š9 WÑ-Ô-Ø*¨kÒ9Ð9˜˜¸qØ"Ÿ?š?Ñ,Ô,×5Ò5Ñ7Ô7ðð ñ
ð ð (ñ ô ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ. 
Ñ	Ô	ð % Ý”—’˜f hÑ/Ô/ˆÝÔ'Ø�d˜E 4¨°Ð9½4ñ	Aô 	Að 	AåŒ�F˜GÑ$Ô$Ð$ð	%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
ˆg‰Œð 6˜"Ø$¨¯ª°©¬Ð5ˆð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6àÐs8   ÂA*DÄD
ÄD
ÄAFÆFÆFÆF?Æ?GÇGc                 óª   — 	  | t          |¦  «        g|¢R i |¤Ž d S # t          j        $ r&}t                               d|¦  «         Y d }~d S d }~ww xY w)Nz%s.  Distillation step skipped.)r»   rö   ÚExecutableNotFoundErrorrÑ   rÞ   )Úfuncri  r}   ré   Úexcs        r$   rX  rX  ƒ  s|   € ð=Øˆ�S�‰\Œ\Ð+˜DÐ+Ð+Ð+ FÐ+Ð+Ð+Ð+Ð+øÝÔ&ð =ð =ð =Ý�ŠÐ6¸Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<øøøøð=øøøs   ‚ �A¬AÁAc           
      óD  — |rd}nd|z  }| dz   }t           j        d         }t          j        t          j        d¦  «        j        ddd|z  d	|d
|z  | gt          ¦  «         t          j        | ¦  «         t          j
        || ¦  «         |rt          | ||¬¦  «         dS dS )zÔ
    Use ghostscript's pswrite or epswrite device to distill a file.
    This yields smaller files without illegal encapsulated postscript
    operators. The output is low-level, converting text to outlines.
    ú	-dEPSCropz-sPAPERSIZE=%sz.pszps.distiller.resÚgsz-dBATCHz	-dNOPAUSEz-r%dz-sDEVICE=ps2writez-sOutputFile=%s©rf  N)rö   r÷   r   rƒ  Ú_get_executable_infoÚ
executablerÑ   rÔ   Úremover™   r›   Úpstoeps)râ   r  rS  r°   rf  Úpaper_optionr†  r$  s           r$   rY  rY  Š  sÓ   € ð ð 0Ø"ˆˆà'¨%Ñ/ˆà�u‰_€FÝ
Œ,Ð)Ô
*€Cå	Ô#Ý	Ô	! $Ñ	'Ô	'Ô	2Ø	�K ¨#¡Ð/BØ	Ð(¨6Ñ1°7ð	<õ 	ñ	ô ð õ „IˆgÑÔÐÝ
„K�˜Ñ Ô Ð ð ð 0õ 	�˜ wÐ/Ñ/Ô/Ð/Ð/Ð/ð0ð 0r&   c                 óÚ  — t          j        d¦  «         t          j        d¦  «         t          ¦   «         5 }t          j        |d¦  «        }t          j        |d¦  «        }t          j        ddddd	d
|rdnd|z  | |g	t          ¦  «         t          j        dddd||gt          ¦  «         t          j	        || ¦  «         ddd¦  «         n# 1 swxY w Y   |rt          | ¦  «         dS dS )a
  
    Use ghostscript's ps2pdf and xpdf's/poppler's pdftops to distill a file.
    This yields smaller files without illegal encapsulated postscript
    operators. This distiller is preferred, generating high-level postscript
    output that treats text as text.
    r�  Úpdftopsztmp.pdfrQ  Úps2pdfz-dAutoFilterColorImages#falsez-dAutoFilterGrayImages#falsez-sAutoRotatePages#Nonez-sGrayImageFilter#FlateEncodez-sColorImageFilter#FlateEncoderŒ  z-sPAPERSIZE#%sz-paperÚmatchz-level2N)rö   r�  r   r(  r   r   rƒ  rÑ   r™   r›   r’  )râ   r  rS  r°   rf  rá   ÚtmppdfÚtmppss           r$   rZ  rZ  ¬  sV  € õ Ô˜TÑ"Ô"Ð"ÝÔ˜YÑ'Ô'Ð'å	Ñ	Ô	ð $ Ý”˜f iÑ0Ô0ˆÝ”˜V XÑ.Ô.ˆõ 	Ô'ØØ,Ø+Ø%Ø,Ø-ØÐ=ˆ[ˆ[Ð%5¸Ñ%=Ø�fðõ  $ñ	%ô 	%ð 	%õ 	Ô'Ø˜ '¨9°f¸eÐDÅdñ	Lô 	Lð 	LåŒ�E˜7Ñ#Ô#Ð#ð!$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð" ð Ý�ÑÔÐÐÐðð s   ·B
CÃCÃCc                 óÌ   — | \  }}}}|rd||z   dfz  }nd}d||t          j        |¦  «        t          j        |¦  «        fz  }d||||fz  }d                     ||g¦  «        |fS )zx
    Return a postscript header string for the given bbox lbrt=(l, b, r, t).
    Optionally, return rotate command.
    z%.2f %.2f translate
90 rotater   r-   z%%%%BoundingBox: %d %d %d %dz)%%%%HiResBoundingBox: %.6f %.6f %.6f %.6fr·   )r+  rò  r|   )	Úlbrtrf  rg   r  r’   ÚtÚrotateÚ	bbox_infoÚhires_bbox_infos	            r$   rG  rG  Ë  sŒ   € ð �J€A€qˆ!ˆQØð Ø1°Q°q±S¸!°HÑ<ˆˆàˆØ.°!°Q½¼À¹
¼
ÅBÄGÈAÁJÄJÐ1OÑO€IØAØ	ˆ1ˆa�ðEñ €Oð �9Š9�i Ð1Ñ2Ô2°FÐ:Ð:r&   c                 óP  — |rt          ||¬¦  «        \  }}nd\  }}| dz   }t          |d¦  «        5 }t          | d¦  «        5 }|j        }|D ]¹}	|	                     d¦  «        r/ |d¦  «         |r! ||                     d¦  «        d	z   ¦  «         ŒF|	                     d
¦  «        r; ||	¦  «          |d¦  «         |r! ||                     d¦  «        d	z   ¦  «          n$|r|	                     d¦  «        rŒ® ||	¦  «         Œº|D ]D}	|	                     d¦  «        r |d¦  «         Œ#|	                     d¦  «        rŒ9 ||	¦  «         ŒE	 ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   t          j        | ¦  «         t          j        || ¦  «         dS )z´
    Convert the postscript to encapsulated postscript.  The bbox of
    the eps file will be replaced with the given *bbox* argument. If
    None, original bbox will be used.
    rŽ  )NNz.epsrÏ   r–   s   %!PSs   %!PS-Adobe-3.0 EPSF-3.0
rŠ   ó   
s   %%EndCommentssp   %%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
)s   %%Bounds   %%HiResBounds   %%DocumentMedias   %%Pagess   %%EOFsJ   cleartomark
countdictstack
exch sub { end } repeat
restore
showpage
%%EOF
s   %%PageBoundingBoxN)	rG  r˜   rÚ   rk   rÁ  rÔ   r‘  r™   r›   )
râ   r°   rf  rž  r�  ry  ÚepshÚtmphrÚ   Úlines
             r$   r’  r’  Ý  s¡  € ð ð 'Ý+¨D¸'ÐBÑBÔBÑˆ	�6�6à&Ñˆ	�6à˜Ñ€GÝ	ˆg�tÑ	Ô	ð ) ¥d¨7°DÑ&9Ô&9ð )¸TØ”
ˆàð 	ð 	ˆDØ�Š˜wÑ'Ô'ð Ø�Ð2Ñ3Ô3Ð3Øð =Ø�E˜)×*Ò*¨7Ñ3Ô3°eÑ;Ñ<Ô<Ð<øØ—’Ð!1Ñ2Ô2ð Ø��d‘”�Ø�ð &ñ 'ô 'ð 'ð ð :Ø�E˜&Ÿ-š-¨Ñ0Ô0°5Ñ8Ñ9Ô9Ð9Ø�Øð ˜$Ÿ/š/ð +Kñ Lô Lð àà��d‘”��ð ð 	ð 	ˆDØ�Š˜xÑ(Ô(ð 
Ø�ð !ñ "ô "ð "ð "ð —’Ð!5Ñ6Ô6ð Øà��d‘”��ð	ð=)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õV „IˆgÑÔÐÝ
„K�˜Ñ!Ô!Ð!Ð!Ð!s6   ²E2ÁDEÅE2ÅE	ÅE2Å"E	Å#E2Å2E6Å9E6)
z/_d { bind def } bind defz/m { moveto } _dz/l { lineto } _dz/r { rlineto } _dz/c { curveto } _dz/cl { closepath } _dz/ce { closepath eofill } _dzO/box {
      m
      1 index 0 r
      0 exch r
      neg 0 r
      cl
    } _dz6/clipbox {
      box
      clip
      newpath
    } _dz/sc { setcachedevice } _dc                   ó   — e Zd ZdZeZdS )Ú
_BackendPSzLevel IIN)r'   r(   r)   Úbackend_versionr  ÚFigureCanvasr*   r&   r$   r¦  r¦  N  s   € € € € € à €OØ!€L€L€Lr&   r¦  )Fr4   NF)F)NF)Ur  r\  r+  Úenumr   rì   Úior   rË  ÚloggingrÔ   r(  rŒ   r™   Útempfiler   r/  Únumpyr+  Ú
matplotlibrö   r   r   r   r	   Úmatplotlib._afmr
   Úmatplotlib.backend_basesr   r   r   r   Úmatplotlib.cbookr   r   Úmatplotlib.font_managerr   Úmatplotlib.ft2fontr   r   Úmatplotlib._ttconvr   Úmatplotlib._mathtext_datar   Úmatplotlib.pathr   Úmatplotlib.texmanagerr   Úmatplotlib.transformsr   Ú!matplotlib.backends.backend_mixedr   r-   r   Ú	getLoggerr'   rÑ   rç   r1   r   Úcaching_module_getattrr,   ri   rq   r~   r�   r    rÊ   rä   rî   ÚRendererPDFPSBaserð   r  r  rv  rh  rX  rY  rZ  rG  r’  ÚFigureManagerPSrH  Úexportr¦  r*   r&   r$   ú<module>r¿     s¨  ððð ð €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€à Ð Ð Ð à Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð ðAð Að Að Að Að Að Að Að Að Að Að Aà IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø /Ð /Ð /Ð /Ð /Ð /Ø  Ð  Ð  Ð  Ð  Ð  Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø *Ð *Ð *Ð *Ð *Ð *Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð ð €wÔ˜Ñ"Ô"€Ø
€ð €„�ÑÔðð ð ð ð ñ ô ñ Ôðð
 Ôð2ð 2ð 2ð 2ð 2ñ 2ô 2ñ Ôð2ð"ˆX�yð "Ø�ið"à�xð"ð �>ð"ð �>ð	"ð
 �>ð"ð �>ð"ð �=ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �Lð"ð �>ð"ð �>ð"ð  �>ð!"ð" "Ø!Ø ØØØØØ ð1"ð "ð "€	ð6ð ð ðKð Kð Kð €„�Ð$FÐGÑGÔGð
ð 
ñ HÔGð
ð=ð =ð =ð N5ð N5ð N5ðb#ð #ð #ðLð ð ðeð eð eð eð e�Ô2ñ eô eð eðPBð Bð Bð Bð B�4ñ Bô Bð BðWð Wð Wð Wð WÐ%ñ Wô Wð Wðt €„�ÑÔðPð Pñ ÔðPð.ð .ð .ðb=ð =ð =ð0ð 0ð 0ð 0ðDð ð ð ð>;ð ;ð ;ð ;ð$:"ð :"ð :"ð :"ðz $€ð"
ð "
ð "
€ðJ 
„ð"ð "ð "ð "ð "�ñ "ô "ñ „ð"ð "ð "r&   