§
    ‡Ûgx5  ã                   óJ  — d dl Z d dlZd dlZd dlZd dlm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 d dl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 m!Z! d dl"m#Z#  e!dg¦  «        d„ ¦   «         Z$e
j%         &                    dddg¦  «        e
j%         &                    dddg¦  «        d„ ¦   «         ¦   «         Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0e#d„ ¦   «         Z1d „ Z2 e!d!g¦  «        d"„ ¦   «         Z3 e!d#g¦  «        d$„ ¦   «         Z4ej5         6                    d%¦  «         e d&d'g¬(¦  «        d)„ ¦   «         ¦   «         Z7e#d*„ ¦   «         Z8d+„ Z9 e!d,g¦  «        d-„ ¦   «         Z:d.„ Z; e!d/gd0¬1¦  «        d2„ ¦   «         Z< e!d3gd4¬1¦  «        d5„ ¦   «         Z=dS )6é    N)ÚPath)ÚNamedTemporaryFile)ÚpyplotÚrcParamsÚfont_manager)Ú_get_data_path)ÚFT2Font)ÚfindfontÚFontProperties)Úget_glyphs_subset)ÚPdfPages)Ú	Rectangle)Úcheck_figures_equalÚimage_comparison)Úneeds_usetexzpdf_use14corefonts.pdfc                  ó*  — dt           d<   dt           d<   dt           d<   dgt           d<   d	t           d
<   d} t          j        ¦   «         \  }}|                     d¦  «         |                     dd| ddd¬¦  «         |                     dd¬¦  «         d S )NTzpdf.use14corefontsz
sans-serifzfont.familyé   z	font.sizeÚ	Helveticazfont.sans-serifr   zpdf.compressionu�   A three-line text positioned just above a blue line
and containing some French characters and the euro symbol:
"Merci pÃ©pÃ© pour les 10 â‚¬"z0Test PDF backend with option use14corefonts=Trueg      à?ÚcenterÚbottomé   )ÚhorizontalalignmentÚverticalalignmentÚfontsize)Ú	linewidth)r   ÚpltÚsubplotsÚ	set_titleÚtextÚaxhline)r   ÚfigÚaxs      úW/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_backend_pdf.pyÚtest_use14corefontsr$      s«   € à%)…HÐ!Ñ"Ø*…Hˆ]ÑØ…Hˆ[ÑØ#. -…HÐÑØ"#…HÐÑð"€Dõ Œl‰nŒn�G€CˆØ‡L‚LÐCÑDÔDÐDØ‡G‚GˆC��d°Ø&Øð ñ ô ð ð ‡J‚Jˆs˜c€JÑ"Ô"Ð"Ð"Ð"ó    zfontname, fontfile)úDejaVu SanszDejaVuSans.ttf)úWenQuanYi Zen Heiúwqy-zenhei.ttcÚfonttypeé   é*   c                 óŠ  — t          t          t          | g¬¦  «        ¦  «        ¦  «        j        |k    rt	          j        d| ›d�¦  «         |t          d<   t          j        ¦   «         \  }}| 	                    g d¢¦  «         | 
                    d| ¬¦  «         |                     t          j        ¦   «         d¬	¦  «         d S )
N©ÚfamilyzFont z may be missingzpdf.fonttype©é   é   r*   z
Axes Title)ÚfontÚpdf©Úformat)r   r
   r   ÚnameÚpytestÚskipr   r   r   Úplotr   ÚsavefigÚioÚBytesIO)ÚfontnameÚfontfiler)   r!   r"   s        r#   Útest_embed_fontsr?   -   s²   € õ �H•^¨H¨:Ð6Ñ6Ô6Ñ7Ô7Ñ8Ô8Ô=ÀÒIÐIÝŒÐ7˜HÐ7Ð7Ð7Ñ8Ô8Ð8à'…Hˆ^ÑÝŒl‰nŒn�G€CˆØ‡G‚GˆIˆIˆIÑÔÐØ‡L‚L� H€LÑ-Ô-Ð-Ø‡K‚K•”
‘” U€KÑ+Ô+Ð+Ð+Ð+r%   c                  óÆ  — t          t          j        ¦   «         ¦  «        5 } |                      ¦   «         dk    sJ ‚t	          j        ¦   «         \  }}|                     g d¢¦  «         |                     | d¬¦  «         |                      ¦   «         dk    sJ ‚|                      ¦   «          |                      ¦   «         dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r/   r3   r4   r0   r1   )r   r;   r<   Úget_pagecountr   r   r9   r:   )r3   r!   r"   s      r#   Útest_multipage_pagecountrB   =   s  € Ý	•"”*‘,”,Ñ	Ô	ð ( 3Ø× Ò Ñ"Ô" aÒ'Ð'Ð'Ð'Ý”,‘.”.‰ˆˆRØ
�Š�	�	�	ÑÔÐØ�Š�C ˆÑ&Ô&Ð&Ø× Ò Ñ"Ô" aÒ'Ð'Ð'Ð'Ø�Š‰ŒˆØ× Ò Ñ"Ô" aÒ'Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ¡B'CÃCÃCc                  ó¬  — t          j        ¦   «         } t          | ¦  «        5 }t          d¦  «        D ]D}t	          j        ¦   «         \  }}|                     d¦  «         |                     |d¬¦  «         ŒE	 d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         }| 	                    d¦  «        dk    sJ ‚t          |¦  «        dk     sJ ‚d S )Né
   zThis is a long titler3   r4   s	   startxrefr0   i@œ  )r;   r<   r   Úranger   r   r   r:   ÚgetvalueÚcountÚlen)Úpdfior3   Úir!   r"   Úss         r#   Útest_multipage_properfinalizerL   H   s  € ÝŒJ‰LŒL€EÝ	�%‰Œð +˜CÝ�r‘”ð 	+ð 	+ˆAÝ”l‘n”n‰GˆC�Ø�LŠLÐ/Ñ0Ô0Ð0Ø�KŠK˜ EˆKÑ*Ô*Ð*Ð*ð	+ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð
 	�ŠÑÔ€AØ�7Š7�<Ñ Ô  AÒ%Ð%Ð%Ð%Ýˆq‰6Œ6�EŠ>ˆ>ˆ>ˆ>ˆ>ˆ>s   £ABÂB	ÂB	c                  óÎ  — t          d¬¦  «        5 } t          | ¦  «        5 }|j        j        j        }d d d ¦  «         n# 1 swxY w Y   t
          j                             |¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         t          |d¬¦  «        5 }	 d d d ¦  «         n# 1 swxY w Y   t
          j                             |¦  «        rJ ‚t          j
        ¦   «         \  }}|                     g d¢¦  «         t          d¬¦  «        5 } t          | ¦  «        5 }|j        j        j        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t
          j                             |¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         t          d¬¦  «        5 } t          | d¬¦  «        5 }|j        j        j        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t
          j                             |¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         d S )NF)Údelete)Ú
keep_emptyr/   )r   r   Ú_fileÚfhr6   ÚosÚpathÚexistsÚremover   r   r9   r:   )Útmpr3   Úfilenamer!   r"   s        r#   Útest_multipage_keep_emptyrX   T   sÊ  € õ 
 5Ð	)Ñ	)Ô	)ð (¨SÝ�c‰]Œ]ð 	)˜cØ”y”|Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)åŒw�~Š~˜hÑ'Ô'Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ „IˆhÑÔÐå	�( uÐ	-Ñ	-Ô	-ð °Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒw�~Š~˜hÑ'Ô'Ð'Ð'Ð'åŒl‰nŒn�G€CˆØ‡G‚GˆIˆIˆIÑÔÐå	 5Ð	)Ñ	)Ô	)ð (¨SÝ�c‰]Œ]ð 	˜cØ”y”|Ô(ˆHØ�KŠK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'Ð'ð	(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ
 „IˆhÑÔÐå	 5Ð	)Ñ	)Ô	)ð (¨SÝ�c eÐ,Ñ,Ô,ð 	°Ø”y”|Ô(ˆHØ�KŠK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'Ð'ð	(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ
 „IˆhÑÔÐÐÐs¯   ‘A8¡?³A8¿A	ÁA8ÁA	Á$A8Á8A<Á?A<Â(B6Â6B:Â=B:ÄFÄ/&E!ÅFÅ!E%	Å%FÅ(E%	Å)$FÆFÆ!FÇ	IÇ&HÈIÈH	ÈIÈH	È$IÉI
ÉI
c                  ó|  — t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  } }t          j        |dz  ¦  «        }t	          j        ¦   «         \  }}|                     dd¦  «         |                     |g d¢¬¦  «         |                     |d d d	…         g d
¢¬¦  «         dt          j        d<   t          t          j        ¦   «         ¦  «        5 }|                     |d¬¦  «         t          |j        j        ¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   dt          j        d<   t          t          j        ¦   «         ¦  «        5 }|                     |d¬¦  «         t          |j        j        ¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Néûÿÿÿé   r0   r1   r   r*   )r   r0   r   r0   )Úextentéÿÿÿÿ)r1   r*   r   r0   Tzimage.composite_imager3   r4   F)ÚnpÚmeshgridÚarangeÚsinr   r   Úset_xlimÚimshowr   r   r;   r<   r:   rH   rP   Ú_images)ÚXÚYÚZr!   r"   r3   s         r#   Útest_composite_imagerh   s   s  € õ Œ;•r”y  Q¨Ñ*Ô*­B¬I°b¸!¸QÑ,?Ô,?Ñ@Ô@�D€A€qÝ
Œˆq�A‰v‰Œ€AÝŒl‰nŒn�G€CˆØ‡K‚K��1ÑÔÐØ‡I‚Iˆa˜˜˜€IÑ%Ô%Ð%Ø‡I‚Iˆa���"�Œg˜l˜l˜l€IÑ+Ô+Ð+Ø,0…C„LÐ(Ñ)Ý	•"”*‘,”,Ñ	Ô	ð + 3Ø�Š�C ˆÑ&Ô&Ð&Ý�3”9Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð -2…C„LÐ(Ñ)Ý	•"”*‘,”,Ñ	Ô	ð + 3Ø�Š�C ˆÑ&Ô&Ð&Ý�3”9Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s$   Ã.7D2Ä2D6Ä9D6Å,7F1Æ1F5Æ8F5c                 óª  — t          j        d¦  «        }|                      dd¦  «         t          j        ¦   «         \  }}|                     t          d¦  «        ¦  «         ddddt          j        d	d
dt          j        t          j	        d¦  «        ¦  «        ¬¦  «        ddœ}t          j        ¦   «         }|                     ||d¬¦  «         |j                             |¦  «        5 }d„ |j                             ¦   «         D ¦   «         }d d d ¦  «         n# 1 swxY w Y   |dddt"          j        › d�dddt"          j        › �ddddœ	k    sJ ‚d S )NÚpikepdfÚSOURCE_DATE_EPOCHÚ0r[   ÚmeúMultipage PDFú	Test pageútest,pdf,multipageé°  r   r0   r   ©ÚtzinfoÚTrue©ÚAuthorÚTitleÚSubjectÚKeywordsÚModDateÚTrappedr3   )Úmetadatar5   c                 ó4   — i | ]\  }}|t          |¦  «        “ŒS © ©Ústr©Ú.0ÚkÚvs      r#   ú
<dictcomp>z)test_savefig_metadata.<locals>.<dictcomp>š   ó$   € Ð:Ð:Ð:™d˜a �•3�q‘6”6Ð:Ð:Ð:r%   úD:19700101000000ZúMatplotlib vú, https://matplotlib.orgúD:19680801000000ZúMatplotlib pdf backend vú/True©	z/Authorz/CreationDatez/Creatorz	/Keywordsz/ModDatez	/Producerz/Subjectz/Titlez/Trapped)r7   ÚimportorskipÚsetenvr   r   r9   rE   ÚdatetimeÚtimezoneÚ	timedeltar;   r<   r:   ÚPdfÚopenÚdocinfoÚitemsÚmplÚ__version__©Úmonkeypatchrj   r!   r"   ÚmdÚbufr3   Úinfos           r#   Útest_savefig_metadatarž   †   s±  € ÝÔ! )Ñ,Ô,€GØ×ÒÐ*¨CÑ0Ô0Ð0åŒl‰nŒn�G€CˆØ‡G‚G�E�!‰HŒHÑÔÐð Ø ØØ(ÝÔ$Ø�!�Q�xÔ0µÔ1CÀAÑ1FÔ1FÑGÔGðIñ Iô Iàð
ð 
€Bõ Œ*‰,Œ,€CØ‡K‚K�˜b¨€KÑ/Ô/Ð/à	Œ×	Ò	˜#Ñ	Ô	ð ; #Ø:Ð: c¤k×&7Ò&7Ñ&9Ô&9Ð:Ñ:Ô:ˆð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ØØ,ØL¥3¤?ÐLÐLÐLØ)Ø'ØAµ´ÐAÐAØØ!Øð
ð 
ò 
ð 
ð 
ð 
ð 
ð 
s   Ã+$DÄDÄ"Dc                  ó$  — t          j        ¦   «         \  } }t          j        t          d¬¦  «        5  |                      t          j        ¦   «         dddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                      t          j        ¦   «         ddd	i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  |                      t          j        ¦   «         dddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                      t          j        ¦   «         dddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz#Unknown infodict keyword: 'foobar'.)Úmatchr3   ÚfoobarÚinvalid)r5   r|   z%not an instance of datetime.datetime.rz   z
1968-08-01z'not one of {"True", "False", "Unknown"}r{   Úfooznot an instance of str.rw   iÒ  )r   r   r7   ÚwarnsÚUserWarningr:   r;   r<   ©r!   r"   s     r#   Útest_invalid_metadatar§   ©   s¸  € ÝŒl‰nŒn�G€Cˆå	Œ•kØAð
Cñ 
Cô 
Cð Pð Pà�Š•B”J‘L”L¨¸(ÀIÐ9NˆÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Põ 
Œ•kØCð
Eñ 
Eô 
Eð 8ð 8à�Š•B”J‘L”L¨Ø'¨Ð6ð 	ñ 	8ô 	8ð 	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ
 
Œ•kØEð
Gñ 
Gô 
Gð Mð Mà�Š•B”J‘L”L¨¸)ÀUÐ9KˆÑLÔLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mõ 
Œ•kÐ)BÐ	CÑ	CÔ	Cð Jð JØ�Š•B”J‘L”L¨¸'À4¸ˆÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð JsG   ²,A*Á*A.Á1A.Â,CÃCÃCÃ.,D&Ä&D*Ä-D*Å,FÆF	ÆF	c                 ó   — t          j        d¦  «        }|                      dd¦  «         t          j        ¦   «         \  }}|                     t          d¦  «        ¦  «         ddddt          j        d	d
dt          j        t          j	        d¦  «        ¦  «        ¬¦  «        ddœ}t          j        ¦   «         }t          ||¬¦  «        5 }|                     |¦  «         |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |j                             |¦  «        5 }d„ |j                             ¦   «         D ¦   «         }d d d ¦  «         n# 1 swxY w Y   |dddt$          j        › d�dddt$          j        › �ddddœ	k    sJ ‚d S )Nrj   rk   rl   r[   rm   rn   ro   rp   rq   r   r0   r   rr   rt   ru   )r|   c                 ó4   — i | ]\  }}|t          |¦  «        “ŒS r~   r   r�   s      r#   r…   z+test_multipage_metadata.<locals>.<dictcomp>Ó   r†   r%   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   )r7   rŽ   r�   r   r   r9   rE   r�   r‘   r’   r;   r<   r   r:   r“   r”   r•   r–   r—   r˜   r™   s           r#   Útest_multipage_metadatarª   ½   s$  € ÝÔ! )Ñ,Ô,€GØ×ÒÐ*¨CÑ0Ô0Ð0åŒl‰nŒn�G€CˆØ‡G‚G�E�!‰HŒHÑÔÐð Ø ØØ(ÝÔ$Ø�!�Q�xÔ0µÔ1CÀAÑ1FÔ1FÑGÔGðIñ Iô Iàð
ð 
€Bõ Œ*‰,Œ,€CÝ	�# Ð	#Ñ	#Ô	#ð  sØ�Š�CÑÔÐØ�Š�CÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
Œ×	Ò	˜#Ñ	Ô	ð ; #Ø:Ð: c¤k×&7Ò&7Ñ&9Ô&9Ð:Ñ:Ô:ˆð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ØØ,ØL¥3¤?ÐLÐLÐLØ)Ø'ØAµ´ÐAÐAØØ!Øð
ð 
ò 
ð 
ð 
ð 
ð 
ð 
s$   Ã
+DÄDÄDÄ&$EÅEÅEc                  ó¨  ‡‡— t          j        d¦  «        } dŠt          j        d¬¦  «        }|                     ddd‰› d�¬¦  «         |                     dd	d
‰› d�¬¦  «         t          j        ¦   «         5 }|                     |d¬¦  «         | j         	                    |¦  «        5 }|j
        d         j        }dD ]a\  }Št          ˆˆfd„|D ¦   «         d ¦  «        }|€J ‚t          |dd ¦  «        �J ‚|j        d         t          j        |¦  «        dz  k    sJ ‚Œb	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nrj   ú&https://test_text_urls.matplotlib.org/©r1   r0   ©Úfigsizeçš™™™™™¹?ztest plain 123Úplain)Úurlgš™™™™™Ù?ztest mathtext $123$Úmathtextr3   r4   r   ))z0.1r±   )z0.4r³   c              3   óD   •K  — | ]}|j         j        ‰› ‰› �k    ¯|V — Œd S ©N©ÚAÚURI)r‚   ÚaÚfragmentÚtest_urls     €€r#   ú	<genexpr>z!test_text_urls.<locals>.<genexpr>õ   s<   øè è € ÐMÐM˜1¨!¬#¬'¸Ð5LÀ(Ð5LÐ5LÒ*LÐ*L�QÐ*LÐ*LÐ*LÐ*LÐMÐMr%   Ú
QuadPointsr0   éH   )r7   rŽ   r   Úfigurer   r;   r<   r:   r“   r”   ÚpagesÚAnnotsÚnextÚgetattrÚRectÚdecimalÚDecimal)	rj   r!   Úfdr3   ÚannotsÚyÚannotrº   r»   s	          @@r#   Útest_text_urlsrË   â   s(  øø€ ÝÔ! )Ñ,Ô,€Gà7€Hå
Œ*˜VÐ
$Ñ
$Ô
$€CØ‡H‚HˆS�#Ð'°Ð-?Ð-?Ð-?€HÑ@Ô@Ð@Ø‡H‚HˆS�#Ð,°XÐ2GÐ2GÐ2G€HÑHÔHÐHå	Œ‰Œð @˜Ø�Š�B˜uˆÑ%Ô%Ð%àŒ[×Ò˜bÑ!Ô!ð 	@ SØ”Y˜q”\Ô(ˆFð  Gð @ð @‘��8ÝØMÐMÐMÐMÐM ÐMÑMÔMØñô �ð Ð(Ð(Ð(Ý˜u l°DÑ9Ô9ÐAÐAÐAà”z !”}­¬¸Ñ(:Ô(:¸RÑ(?Ò?Ð?Ð?Ð?Ð?ð@ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s7   Á92EÂ+A7D/Ä#EÄ/D3	Ä3EÄ6D3	Ä7EÅEÅEc                  óp  ‡— t          j        d¦  «        } dŠt          j        d¬¦  «        }|                     dddd‰› ¬¦  «         t          j        ¦   «         5 }|                     |d	¬
¦  «         | j         	                    |¦  «        5 }|j
        d         j        }t          ˆfd„|D ¦   «         d ¦  «        }|€J ‚t          |dd ¦  «        €J ‚|j        d         |j        d         t!          j        d¦  «        z
  k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nrj   r¬   )r0   r0   r®   r°   ÚNé-   )Úrotationr²   r3   r4   r   c              3   ó>   •K  — | ]}|j         j        ‰› k    ¯|V — Œd S rµ   r¶   ©r‚   r¹   r»   s     €r#   r¼   z)test_text_rotated_urls.<locals>.<genexpr>  s3   øè è € Ð?Ð?�q a¤c¤g°H°Ò&>Ð&>�Ð&>Ð&>Ð&>Ð&>Ð?Ð?r%   r½   é   z0.00001)r7   rŽ   r   r¿   r   r;   r<   r:   r“   r”   rÀ   rÁ   rÂ   rÃ   rÄ   r½   rÅ   rÆ   ©rj   r!   rÇ   r3   rÈ   rÊ   r»   s         @r#   Útest_text_rotated_urlsrÔ   ý   sö  ø€ ÝÔ! )Ñ,Ô,€Gà7€Hå
Œ*˜VÐ
$Ñ
$Ô
$€CØ‡H‚HˆS�#�s R°¨]€HÑ;Ô;Ð;å	Œ‰Œð @˜Ø�Š�B˜uˆÑ%Ô%Ð%àŒ[×Ò˜bÑ!Ô!ð 	@ SØ”Y˜q”\Ô(ˆFõ Ø?Ð?Ð?Ð?˜FÐ?Ñ?Ô?Øñô ˆEð Ð$Ð$Ð$Ý˜5 ,°Ñ5Ô5ÐAÐAÐAà”:˜a”=ØÔ Ô"¥W¤_°YÑ%?Ô%?Ñ?ò@ð @ð @ð @ð @ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s7   Á2D+ÂA9DÄD+ÄD	ÄD+ÄD	ÄD+Ä+D/Ä2D/c                  ó8  ‡— t          j        d¦  «        } dŠt          j        d¬¦  «        }|                     dddd‰› d	�¬
¦  «         t          j        ¦   «         5 }|                     |d¬¦  «         | j         	                    |¦  «        5 }|j
        d         j        }t          ˆfd„|D ¦   «         d ¦  «        }|€J ‚|j        d         t          j        d¦  «        dz  k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nrj   r¬   r­   r®   r°   gffffffæ?ztest tex $123$TÚtex)Úusetexr²   r3   r4   r   c              3   óB   •K  — | ]}|j         j        ‰› d �k    ¯|V — ŒdS )rÖ   Nr¶   rÑ   s     €r#   r¼   z%test_text_urls_tex.<locals>.<genexpr>)  s:   øè è € ÐBÐB�q a¤c¤g°HÐ1AÐ1AÐ1AÒ&AÐ&A�Ð&AÐ&AÐ&AÐ&AÐBÐBr%   r0   z0.7r¾   )r7   rŽ   r   r¿   r   r;   r<   r:   r“   r”   rÀ   rÁ   rÂ   rÄ   rÅ   rÆ   rÓ   s         @r#   Útest_text_urls_texrÙ     sÎ  ø€ åÔ! )Ñ,Ô,€Gà7€Hå
Œ*˜VÐ
$Ñ
$Ô
$€CØ‡H‚HˆS�#Ð'°¸XÐ:JÐ:JÐ:J€HÑKÔKÐKå	Œ‰Œð @˜Ø�Š�B˜uˆÑ%Ô%Ð%àŒ[×Ò˜bÑ!Ô!ð 
	@ SØ”Y˜q”\Ô(ˆFõ ØBÐBÐBÐB˜FÐBÑBÔBØñô ˆEð Ð$Ð$Ð$à”:˜a”=¥G¤O°EÑ$:Ô$:¸RÑ$?Ò?Ð?Ð?Ð?Ð?ð
	@ð 
	@ð 
	@ñ 
	@ô 
	@ð 
	@ð 
	@ð 
	@ð 
	@ð 
	@ð 
	@øøøð 
	@ð 
	@ð 
	@ð 
	@ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s7   Á2DÂAC7Ã+DÃ7C;	Ã;DÃ>C;	Ã?DÄDÄDc                  óÐ   — t          t          t          j        ¦  «        ¦  «        5 } |                      t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rµ   )r   r   rR   Údevnullr:   r   r¿   )r3   s    r#   Útest_pdfpages_fspathrÜ   0  s“   € Ý	•$•r”zÑ"Ô"Ñ	#Ô	#ð " sØ�Š•C”J‘L”LÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   §'AÁAÁ"Azhatching_legend.pdfc                  óÀ   — t          j        d¬¦  «        } t          ddgdddd¬¦  «        }t          ddgdddd¬¦  «        }|                      ||||gg d¢¦  «         d	S )
z.Test for correct hatching on patches in legend)r0   r1   r®   r   ÚgreenÚXXXX)Ú	facecolorÚhatchÚblue)Ú rã   rã   rã   N)r   r¿   r   Úlegend)r!   r¹   Úbs      r#   Útest_hatching_legendræ   5  sw   € õ Œ*˜VÐ
$Ñ
$Ô
$€Cå�1�a�&˜!˜Q¨'¸Ð@Ñ@Ô@€AÝ�1�a�&˜!˜Q¨&¸Ð?Ñ?Ô?€Aà‡J‚J��1�a˜ˆ|Ð-Ð-Ð-Ñ.Ô.Ð.Ð.Ð.r%   zgrayscale_alpha.pdfc                  óR  — t           j        ddd…ddd…f         \  } }t          j        | dz  |dz  z    ¦  «        }t           j        ||dk     <   t	          j        ¦   «         \  }}|                     |dd¬¦  «         |                     g ¦  «         |                     g ¦  «         dS )z9Masking images with NaN did not work for grayscale imageséþÿÿÿr1   r°   ÚnoneÚgray_r)ÚinterpolationÚcmapN)	r^   ÚogridÚexpÚnanr   r   rc   Ú
set_xticksÚ
set_yticks)ÚxrÉ   Úddr!   r"   s        r#   Útest_grayscale_alpharô   @  s¢   € õ Œ8�B�q˜�G˜R  "˜WÐ$Ô%�D€A€qÝ	Œ�!�Q‘$˜˜A™‘+�Ñ	Ô	€BÝ”&€B€rˆB‚w�KÝŒl‰nŒn�G€CˆØ‡I‚Iˆb ¨X€IÑ6Ô6Ð6Ø‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐÐÐr%   Údefaultr3   Úeps)Ú
extensionsc           	      ó"  — |                       ¦   «         }|                     ¦   «          |                     t          j        t          j        ddd¦  «        ¦  «        dd¬¦  «         |                      ¦   «         }|                     ¦   «          d S )NrZ   r[   éd   r„   ré   )Úc)Úadd_subplotÚset_axis_offr9   r^   ra   Úlinspace)Úfig_testÚfig_refÚax_testÚax_refs       r#   Ú'test_pdf_eps_savefig_when_color_is_noner  L  s€   € ð ×"Ò"Ñ$Ô$€GØ×ÒÑÔÐØ‡L‚L•”�œ B¨¨3Ñ/Ô/Ñ0Ô0°#¸€LÑ@Ô@Ð@Ø× Ò Ñ"Ô"€FØ
×ÒÑÔÐÐÐr%   c                  óä   — t          j        dd¬¦  «         t          j        t          ¦  «        5  t          j        t          j        ¦   «         d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z"Test failing latex subprocess callz$22_2_2$T)r×   r3   r4   N)r   Úxlabelr7   ÚraisesÚRuntimeErrorr:   r;   r<   r~   r%   r#   Útest_failing_latexr  V  s¨   € õ „Jˆz $Ð'Ñ'Ô'Ð'Ý	Œ•|Ñ	$Ô	$ð 0ð 0ÝŒ•B”J‘L”L¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s   °(A%Á%A)Á,A)c                  ó²   — t          j        ¦   «         \  } }|                     g g d¬¦  «         |                      t	          j        ¦   «         d¬¦  «         d S )NT)Ú
rasterizedr3   r4   )r   r   r9   r:   r;   r<   r¦   s     r#   Útest_empty_rasterizedr
  ^  sK   € åŒl‰nŒn�G€CˆØ‡G‚GˆB�˜t€GÑ$Ô$Ð$Ø‡K‚K•”
‘” U€KÑ+Ô+Ð+Ð+Ð+r%   zkerning.pdfc                  ó”   — t          j        ¦   «         } d}|                      dd|d¬¦  «         |                      dd|d¬¦  «         d S )Nu   AVAVAVAVAVAVAVAVâ‚¬AAVVr   g      Ð?r[   )Úsizeg      è?é   )r   r¿   r   )r!   rK   s     r#   Útest_kerningr  e  sL   € å
Œ*‰,Œ,€CØ!€AØ‡H‚HˆQ��Q˜Q€HÑÔÐØ‡H‚HˆQ��Q˜R€HÑ Ô Ð Ð Ð r%   c                  óV  — t          t          d¦  «        ¦  «        } d}t          | ¦  «        }|                     |¦  «         t          t	          | |¦  «        ¦  «        }|                     |¦  «         |                     ¦   «         }|                     ¦   «         }t          |¦  «        t          d„ |                     ¦   «         D ¦   «         ¦  «        k    sJ ‚t          |¦  «        t          |¦  «        k     sJ ‚| 	                    ¦   «         | 	                    ¦   «         k    sJ ‚d S )Nzfonts/ttf/DejaVuSerif.ttfz%these should be subsetted! 1234567890c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rµ   )Úchr)r‚   Úkeys     r#   r¼   z%test_glyphs_subset.<locals>.<genexpr>}  s(   è è € Ð@Ð@¨#�S ™XœXÐ@Ð@Ð@Ð@Ð@Ð@r%   )
r€   r   r	   Úset_textr   Úget_charmapÚsetÚkeysrH   Úget_num_glyphs)ÚfpathÚcharsÚ	nosubfontÚsubfontÚ	nosubcmapÚsubcmaps         r#   Útest_glyphs_subsetr  m  s  € Ý•Ð:Ñ;Ô;Ñ<Ô<€EØ3€Eõ ˜‘”€IØ×Ò�uÑÔÐõ Õ'¨¨uÑ5Ô5Ñ6Ô6€GØ×Ò�UÑÔÐà×%Ò%Ñ'Ô'€IØ×!Ò!Ñ#Ô#€Gõ ˆu‰:Œ:�Ð@Ð@°·²±´Ð@Ñ@Ô@Ñ@Ô@Ò@Ð@Ð@Ð@õ ˆw‰<Œ<�#˜i™.œ.Ò(Ð(Ð(Ð(ð ×!Ò!Ñ#Ô# y×'?Ò'?Ñ'AÔ'AÒAÐAÐAÐAÐAÐAr%   zmulti_font_type3.pdfgffffff@)Útolc                  ó`  — t          j        dg¬¦  «        } t          t          j        | ¦  «        ¦  «        j        dk    rt          j        d¦  «         t          j        dddgd¬¦  «         t          j        d	d
¬¦  «         t          j	        ¦   «         }| 
                    ddd¦  «         d S )Nr'   r-   r(   úFont may be missingr2   r&   é   ©r.   r  r3   r*   ©r)   ç333333Ã?çffffffÞ?õ"   There are å‡ ä¸ªæ±‰å­— in between!©Úfmr   r   r
   r6   r7   r8   r   Úrcr¿   r   ©Úfpr!   s     r#   Útest_multi_font_type3r-  †  s£   € å	Ô	Ð#6Ð"7Ð	8Ñ	8Ô	8€BÝ�BŒK˜‰OŒOÑÔÔ!Ð%5Ò5Ð5ÝŒÐ)Ñ*Ô*Ð*å„Fˆ6˜=Ð*=Ð>ÀRÐHÑHÔHÐHÝ„Fˆ5˜1ÐÑÔÐå
Œ*‰,Œ,€CØ‡H‚HˆT�5Ð>Ñ?Ô?Ð?Ð?Ð?r%   zmulti_font_type42.pdfgš™™™™™@c                  ó`  — t          j        dg¬¦  «        } t          t          j        | ¦  «        ¦  «        j        dk    rt          j        d¦  «         t          j        dddgd¬¦  «         t          j        d	d
¬¦  «         t          j	        ¦   «         }| 
                    ddd¦  «         d S )Nr'   r-   r(   r!  r2   r&   r"  r#  r3   r+   r$  r%  r&  r'  r(  r+  s     r#   Útest_multi_font_type42r/  “  s£   € å	Ô	Ð#6Ð"7Ð	8Ñ	8Ô	8€BÝ�BŒK˜‰OŒOÑÔÔ!Ð%5Ò5Ð5ÝŒÐ)Ñ*Ô*Ð*å„Fˆ6˜=Ð*=Ð>ÀRÐHÑHÔHÐHÝ„Fˆ5˜2ÐÑÔÐå
Œ*‰,Œ,€CØ‡H‚HˆT�5Ð>Ñ?Ô?Ð?Ð?Ð?r%   )>r�   rÅ   r;   rR   Úpathlibr   Útempfiler   Únumpyr^   r7   Ú
matplotlibr—   r   r   r   r   r)  Úmatplotlib.cbookr   Úmatplotlib.ft2fontr	   Úmatplotlib.font_managerr
   r   Ú#matplotlib.backends._backend_pdf_psr   Úmatplotlib.backends.backend_pdfr   Úmatplotlib.patchesr   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   r$   ÚmarkÚparametrizer?   rB   rL   rX   rh   rž   r§   rª   rË   rÔ   rÙ   rÜ   ræ   rô   ÚstyleÚcontextr  r  r
  r  r  r-  r/  r~   r%   r#   ú<module>r@     sÿ  ðØ €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ø €€€à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ,Ð +Ð +Ð +Ð +Ð +Ø &Ð &Ð &Ð &Ð &Ð &Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø AÐ AÐ AÐ AÐ AÐ AØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø (Ð (Ð (Ð (Ð (Ð (Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ 4Ð 4Ð 4Ð 4Ð 4Ð 4ð ÐÐ+Ð,Ñ-Ô-ð#ð #ñ .Ô-ð#ð& „×ÒÐ-Ø%Ø+ð0ñ ô ð „×Ò˜ a¨ WÑ-Ô-ð,ð ,ñ .Ô-ñ	ô ð
,ð(ð (ð (ð	ð 	ð 	ðð ð ð>+ð +ð +ð& ð  ð  ðFJð Jð Jð("ð "ð "ðJ@ð @ð @ð6@ð @ð @ð4 ð@ð @ñ „ð@ð0"ð "ð "ð
 ÐÐ(Ð)Ñ*Ô*ð/ð /ñ +Ô*ð/ð ÐÐ(Ð)Ñ*Ô*ðð ñ +Ô*ðð „×Ò�9ÑÔØÐ ¨ Ð/Ñ/Ô/ðð ñ 0Ô/ñ Ôðð ð0ð 0ñ „ð0ð,ð ,ð ,ð Ð�=�/Ñ"Ô"ð!ð !ñ #Ô"ð!ðBð Bð Bð2 ÐÐ)Ð*°Ð4Ñ4Ô4ð	@ð 	@ñ 5Ô4ð	@ð ÐÐ*Ð+°Ð5Ñ5Ô5ð	@ð 	@ñ 6Ô5ð	@ð 	@ð 	@r%   