U
    ÂmœdFR  ã                   @   sš  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	Z
d dl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 d dlmZ d d	lmZmZ d
d„ Zedgdd�dd„ ƒZedgdd�dd„ ƒZ dd„ Z!edgƒdd„ ƒZ"edgƒdd„ ƒZ#edd�dd„ ƒZ$eƒ d d!„ ƒZ%ed"d#d$gd%�d&d'„ ƒZ&d(d)„ Z'ej( )d*¡ed+d,„ ƒƒZ*d-d.„ Z+d/d0„ Z,d1d2„ Z-d3d4„ Z.d5d6„ Z/d7d8„ Z0d9d:„ Z1d;d<„ Z2d=d>„ Z3ed?gd@d�dAdB„ ƒZ4edCgƒdDdE„ ƒZ5ej6 7dFdGdHie8dIfdGdHgie8dJfdKdHie8dLfdKdHgie8dMfdNdHie8dOfdNdHgie8dPfdQdHie8dRfdSdHie8dTfdUdVie9dWfg	¡dXdY„ ƒZ:dZd[„ Z;ej6 7d\d]d^d_d`dag¡ej6 7dbddcg¡ddde„ ƒƒZ<dfdg„ Z=dS )hé    N)ÚBytesIO)ÚPath)ÚFigure)ÚText)Úcheck_figures_equalÚimage_comparison)Úneeds_usetex)Úfont_manager)ÚOffsetImageÚAnnotationBboxc               	   C   s¢   t  ¡ \} }t ddtj d¡}t |¡}t |¡}|j|||dd�\}}}|D ]}| d¡ qPt	ƒ �}	| j
|	dd� |	 ¡ }
W 5 Q R X tjj ¡ }| |
¡ d S )	Nr   é   é2   Úko)ÚyerrÚfmtFÚsvg©Úformat)ÚpltÚsubplotsÚnpZlinspaceÚpiÚsinZ	ones_likeZerrorbarZset_visibler   ÚsavefigÚgetvalueÚxmlÚparsersÚexpatÚParserCreateÚParse)ÚfigÚaxÚxÚyr   ÚaÚbÚcZartistÚfdÚbufÚparser© r*   úZ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/matplotlib/tests/test_backend_svg.pyÚtest_visibility   s    

r,   zfill_black_with_alpha.svgT)Zremove_textc                  C   s0   t  ¡ \} }|jdddgdddgdddd� d S )Nr   çš™™™™™¹?é   Úki'  )r"   r#   r&   ÚalphaÚs)r   r   Úscatter©r    r!   r*   r*   r+   Útest_fill_black_with_alpha(   s    r4   Znoscalec                  C   sR   t  t  ddd¡t  ddd¡¡\} }t  |d ¡}t ¡ \}}|j|ddd� d S )Néûÿÿÿé   r.   é   ÚgrayÚnone)ZcmapÚinterpolation)r   ZmeshgridÚaranger   r   r   Úimshow)ÚXÚYÚZr    r!   r*   r*   r+   Útest_noscale.   s    $r@   c               	   C   s`   t  ¡ } d}| jd|d� tƒ � }| j|dd� | ¡  ¡ }W 5 Q R X d |¡}||ks\t‚d S )Nz$http://test_text_urls.matplotlib.orgÚtest_text_urls)Úurlr   r   z<a xlink:href="{0}">)	r   ÚfigureZsuptitler   r   r   Údecoder   ÚAssertionError)r    Útest_urlr'   r(   Úexpectedr*   r*   r+   rA   7   s    
rA   zbold_font_output.svgc                  C   sN   t  ¡ \} }| t d¡t d¡¡ | d¡ |jddd� |jddd� d S )Né
   únonbold-xlabelúbold-ylabelÚbold©Z
fontweightú
bold-title)r   r   Úplotr   r;   Ú
set_xlabelÚ
set_ylabelÚ	set_titler3   r*   r*   r+   Útest_bold_font_outputE   s
    
rR   z'bold_font_output_with_none_fonttype.svgc                  C   sX   dt jd< t  ¡ \} }| t d¡t d¡¡ | d¡ |jddd� |jddd� d S )	Nr9   úsvg.fonttyperH   rI   rJ   rK   rL   rM   )	r   ÚrcParamsr   rN   r   r;   rO   rP   rQ   r3   r*   r*   r+   Ú(test_bold_font_output_with_none_fonttypeN   s    

rU   é   )Útolc                 C   s”   t  dd¡d }t  |¡}t  |¡}| ¡ }|j||dddd� |j|d |dd	dd� |  ¡ }|j||dddd
d� |j|d |dd	dd
d� d S )Nr   éd   çffffff@ú-ÚrrH   )r&   Úlwr.   r%   T©r&   r\   Ú
rasterized)r   r;   Úcosr   r   rN   ©Úfig_testÚfig_refÚtr"   r#   Úax_refÚax_testr*   r*   r+   Útest_rasterizedX   s    

rf   c              	   C   s8  t  dd¡d }t  |¡}t  |¡}| ¡ }| dd¡ | dd¡ |j||ddd	d
d� |j|d |ddd	dd� |j|d |ddd	d
d� |j|d |ddd	d
d� |  ¡ }| dd¡ | dd¡ |j||ddd	d
dd� |j|d |ddd	d
dd� |j|d |ddd	d
dd� |j|d |ddd	ddd� d S )Nr   rX   rY   é   gš™™™™™ñ¿gš™™™™™ñ?rZ   r[   rH   Tr]   r.   r%   Fr7   ÚgÚm)r&   r\   r^   ÚzordergÍÌÌÌÌÌô?gffffffö?g333333ó?)r   r;   r_   r   r   Úset_xlimÚset_ylimrN   r`   r*   r*   r+   Útest_rasterized_orderingg   s"    

rm   r6   r   Zpdf)rW   Ú
extensionsc                 C   s®   ddg}|  ¡ }|j|d g|d gdddd� tj d¡}tjj||d	d
�}| |¡ |   ¡ }|j|d g|d gddddd� tj d¡}tjj||d	d
�}| |¡ d S )Ngš™™™™™©?r   r.   r"   Úblackr7   )Úmarkerr&   rj   r=   gÍÌÌÌÌÌ @)rj   T)rp   r&   rj   r^   )r   rN   ÚmplZ	offsetboxZTextArear   Ú
add_artist)ra   rb   Úlocrd   r%   Zaboxre   r*   r*   r+   Útest_prevent_rasterization~   s     
ÿrt   c                  C   st  dd„ } t  ¡ }| ddd¡}| ¡  tdƒD ]}|jddgd|gddd	� q.| |d
ƒdks`t‚| |dƒdksrt‚t  ¡ }| ddd¡}| ¡  tdƒD ]}|jddgd|gddd	� q˜| |d
ƒdksÊt‚| |dƒdksÜt‚t  ¡ }| ddd¡}| ¡  tdƒD ]:}|jddg|dgddd	� |jddgd|gddd	� �q| |d
ƒdk�sRt‚| |dƒdk�sft‚t  ¡ }| ddd¡}	|	 ¡  |	 d¡ tdƒD ]:}|	jddg|dgddd	� |	jddgd|gddd	� �q–| |d
ƒdk�sæt‚| |dƒdk�sút‚t  ¡ }
d|
_|
 ddd¡}| ¡  tdƒD ] }|jddgd|gddd	� �q&| |
d
ƒdk�s\t‚| |
dƒdk�spt‚d S )Nc              	   S   s<   t ƒ � }| j|dd� | ¡  ¡ }W 5 Q R X | d|› �¡S )Nr   r   ú<)r   r   r   rD   Úcount)r    Útagr'   r(   r*   r*   r+   Ú	count_tag”   s    z%test_count_bitmaps.<locals>.count_tagr.   r6   r   rV   zb-F)r^   ÚimageÚpathé   T)	r   rC   Úadd_subplotZset_axis_offÚrangerN   rE   Zset_rasterizedZsuppressComposite)rx   Úfig1Úax1ÚnÚfig2Úax2Zfig3Úax3Zfig4Zax4Zfig5Zax5r*   r*   r+   Útest_count_bitmaps“   sP    
r„   Údefaultc               	   C   s¤   t ƒ } | jddddd� tƒ �}| j|dd� | ¡ }W 5 Q R X tjj |¡}d}d}t	| 
d	|› d
|› d�¡ƒdkszt‚d|› �| d	|› d�¡j ¡ ks t‚d S )Nç      à?z\textwonT)Zusetexr   r   úhttp://www.w3.org/2000/svgzSFSS3583-8eú.//{z}path[@d][@id="z"]r.   ú#z}use)r   Útextr   r   r   r   ÚetreeÚElementTreeÚ
fromstringÚlenÚfindallrE   ÚfindÚattribÚvalues)r    r'   r(   ÚtreeÚnsZwon_idr*   r*   r+   Útest_unicode_wonÍ   s    $r•   c               	   C   s¨   t j dddœ¡ d} t  ¡ \}}| t d¡d| ¡ | t d¡t d¡¡ | d	d
¡ t	ƒ �*}|j
|dd� | d	¡ | ¡  ¡ }W 5 Q R X | |kr d|ks¤t‚d S )Nr9   Z	condensed)rS   zfont.stretchzUnlikely to appear by chancez
2019-06-30r.   z
2019-01-01z
2019-12-31r   r7   r   r   )r   rT   Úupdater   rŠ   r   Z
datetime64rk   rl   r   r   ÚseekÚreadrD   rE   )rG   r    r!   r'   r(   r*   r*   r+   Ú"test_svgnone_with_data_coordinatesÞ   s    
r™   c               	      s°  ddl m‰  ddlm‰ t ¡ } |  d¡}|jddgddggdd	� |jd
ddgd
ddgdd� |j	ddd
gdd� | 
¡  | ¡ }| d
ddgd
ddg¡ | jddd�}| 	dddgd
ddg¡ | jddd�}| 	d
dgd
dgd
dg¡ | j ¡  i }t| jdd�ƒD ]:\}}| ¡ �rd|jj› d|› �}|||< | |¡ �qtƒ � }	| j|	dd� |	 ¡  ¡ }
W 5 Q R X ‡ ‡fdd„}| ¡ D ]$\}}|||ƒ�r†||
k�s†t‚�q†dS )z+Test that object gid appears in output svg.r   )Ú	OffsetBox)ÚTickéƒ   g      ð?g       @g      @Úauto)Zaspectr.   r7   rg   Z	myscatter)ÚlabelZmyploté„   Zpolar)Z
projectiong      ø?é…   Z3dT)Zinclude_selfZtest123Ú_r   r   c                    sÐ   t |ˆ ƒrdS t |tƒr6| ¡ dkr(dS |jd kr6dS t |tjƒrŠ| ¡ \}}t|ƒt|ƒ  krjdkrrn ndS t|dƒr†|jd krŠdS t |ˆƒrÌ| 	¡ }|dkr¨dS | 
¡ }|t|ƒk sÈ|t|ƒkrÌdS dS )NFÚ r.   Úaxesr   T)Ú
isinstancer   Zget_textr£   r   ZLine2DÚget_datarŽ   ÚhasattrZget_locZget_view_intervalÚminÚmax)ÚgidÚobjZxdataZydatars   Úvi©rš   r›   r*   r+   Úinclude  s*    


 
ztest_gid.<locals>.includeN)Úmatplotlib.offsetboxrš   Zmatplotlib.axisr›   r   rC   r|   r<   r2   rN   ZlegendZtwinxÚbarZcanvasZdrawÚ	enumerateZfindobjZget_visibleÚ	__class__Ú__name__Úset_gidr   r   r   rD   ÚitemsrE   )r    r   Zax1ar‚   rƒ   ZgdicÚidxrª   r©   r'   r(   r­   r*   r¬   r+   Útest_gidï   s8    


r¶   c                   C   s   t jtƒ ddd� d S )NZsvgzZtight)r   Zbbox_inches)r   r   r   r*   r*   r*   r+   Útest_savefig_tight.  s    r·   c                  C   sŽ   t  ¡ \} }| dddgdddg¡}| ddd g¡ t  ddgddg¡\}| d	¡ tƒ }| j|d
d� | ¡ }dD ]}d| |kstt	‚qtd S )Nr.   r7   rg   r   r6   r{   zhttps://example.com/foozhttps://example.com/barzhttps://example.com/bazr   r   )s   foos   bars   bazs   https://example.com/)
r   r   r2   Zset_urlsrN   Úset_urlr   r   r   rE   )r    r!   r1   Úpr%   Úvr*   r*   r+   rF   4  s    
rF   c                 C   s6  |   dd¡ t ¡ \}}| dddgdddg¡ t|j ¡ ƒD ]\}}| d	|› �¡ q>t ¡ \}}| dddgdddg¡ t|j ¡ ƒD ],\}}|j d	|› �¡ |j	 d	|› �¡ qŠt
ƒ }|j|d
d� | ¡ }t
ƒ }|j|d
d� | ¡ }tt|j ¡ ƒƒD ] }d	|› � d¡|k�st‚�q||k�s2t‚d S )NÚSOURCE_DATE_EPOCHÚ19680801r.   r7   rg   r   r6   r{   zhttps://example.com/r   r   Úascii)Úsetenvr   r   r2   r°   ZyaxisZget_major_ticksr¸   Úlabel1Úlabel2r   r   r   r}   rŽ   ÚencoderE   )Úmonkeypatchr~   r!   ÚiZtickr�   Úb1Úb2r*   r*   r+   Útest_url_tickH  s&    rÆ   c              	   C   sä   |   dd¡ t ¡ \}}tƒ � }|j|dd� | ¡  ¡ }W 5 Q R X tj|ksRt	‚d|ks^t	‚d|ksjt	‚d|ksvt	‚tƒ �,}|j|dd d d d dœd	� | ¡  ¡ }W 5 Q R X tj|ks¼t	‚d|ksÈt	‚d|ksÔt	‚d|ksàt	‚d S )
Nr»   r¼   r   r   ú
1970-08-16úimage/svg+xmlÚ
StillImage©ÚDateÚCreatorÚFormatÚType©r   Úmetadata)
r¾   r   r   r   r   r   rD   rq   Ú__version__rE   )rÂ   r    r!   r'   r(   r*   r*   r+   Útest_svg_default_metadatac  s&     ÿ
rÒ   c              
   C   s  |   dd¡ tjddddœ}d}d}d	}d
}t ¡ \}}|D ]À}tƒ �*}	|j|	d| ¡ d id� |	 ¡  	¡ }
W 5 Q R X t
jj |
¡}| d|› d|› d|› d�¡\}|D ]R}| d|› |› �¡}||krÒ|r¨t‚q¨|\}t
jjj|dd�}|| |ks¨t‚q¨q<d S )Nr»   r¼   rÇ   rÈ   rÉ   )ZcreatorÚdater   Útypeú{http://www.w3.org/2000/svg}ú-{http://www.w3.org/1999/02/22-rdf-syntax-ns#}ú {http://creativecommons.org/ns#}ú"{http://purl.org/dc/elements/1.1/}r   rÏ   ú./ú	metadata/zRDF/ZWorkÚunicode)Úencoding)r¾   rq   rÑ   r   r   r   r   Útitler   rD   r   r‹   rŒ   r�   r�   rE   Útostring)rÂ   Zmetadata_containsÚSVGNSÚRDFNSÚCCNSÚDCNSr    r!   Únamer'   r(   ÚrootZworkÚkeyÚdataZxmlstrr*   r*   r+   Útest_svg_clear_default_metadata…  s0     ÿ rç   c               	   C   sp   t  ¡ \} }tƒ �,}| j|dd d d d dœd� | ¡  ¡ }W 5 Q R X d}tjj 	|¡}| 
d|› d�¡rlt‚d S )Nr   rÊ   rÏ   rÕ   rÙ   rÐ   )r   r   r   r   r   rD   r   r‹   rŒ   r�   r�   rE   )r    r!   r'   r(   rß   rä   r*   r*   r+   Útest_svg_clear_all_metadata¦  s     ÿ
rè   c                     sj  dddddddg} dd	d
ddg}t  ddd¡t   dddddd¡gddœdd„ | D ƒdd„ |D ƒ–}t ¡ }tƒ �"}|j|d|d� | ¡  ¡ }W 5 Q R X d}d‰ d}d}tj	j
 |¡}	|	 d|› dˆ › d�¡\}
d d!„ |	 d|› d"�¡D ƒ}||d gksþt‚‡ fd#d!„|
 d|› d$|› d%�¡D ƒ}||d gk�s8t‚d2| •D ]P}|dk�rR�q@d'd!„ |
 d|› d$|› | ¡ › �¡D ƒ}||| gk�s@t‚�q@|D ]\}|d
k�r¨�q–d(d!„ |
 d|› d$|› | ¡ › d)|› d*|› d"�
¡D ƒ}||| k�s–t‚�q–d+d!„ |
 d|› d$|› d,�¡D ƒ}|d-gk�s&t‚d.d!„ |
 d|› d$|› d/ˆ › d0ˆ › d1�	¡D ƒ}||d
 k�sft‚d S )3NZCoverageZ
IdentifierZLanguageZRelationZSourceÚTitlerÎ   ZContributorrÌ   ÚKeywordsZ	PublisherZRightsi°  é   r.   r7   rg   zdescription
text)rË   ÚDescriptionc                 S   s   i | ]}||› d �“qS )z foor*   ©Ú.0r/   r*   r*   r+   Ú
<dictcomp>¾  s      z%test_svg_metadata.<locals>.<dictcomp>c                 S   s"   i | ]}||› d �|› d�g“qS )z barz bazr*   rí   r*   r*   r+   rï   ¿  s      r   rÏ   rÕ   rÖ   r×   rØ   rÙ   rÚ   ZRDFc                 S   s   g | ]
}|j ‘qS r*   ©rŠ   ©rî   Únoder*   r*   r+   Ú
<listcomp>Ð  s     z%test_svg_metadata.<locals>.<listcomp>rÝ   c                    s   g | ]}|j ˆ › d � ‘qS )Úresource)r‘   rñ   ©rà   r*   r+   ró   Ò  s   ÿzWork/rÔ   rì   c                 S   s   g | ]
}|j ‘qS r*   rð   rñ   r*   r*   r+   ró   Ø  s   ÿc                 S   s   g | ]
}|j ‘qS r*   rð   rñ   r*   r*   r+   ró   à  s   ÿú/zAgent/c                 S   s   g | ]
}|j ‘qS r*   rð   rñ   r*   r*   r+   ró   ç  s     rÓ   z1968-08-01/1968-08-02T01:02:03c                 S   s   g | ]
}|j ‘qS r*   rð   rñ   r*   r*   r+   ró   ê  s     zsubject/zBag/Zli)rì   )ÚdatetimerÓ   r   rC   r   r   r   rD   r   r‹   rŒ   r�   r�   rE   Úlower)Zsingle_valueZmulti_valuerÐ   r    r'   r(   rß   rá   râ   rä   ÚrdfÚtitlesÚtypesr/   r’   Údatesr*   rõ   r+   Útest_svg_metadata¶  sf    
 ÿÿýû
ÿ
ÿ
$ÿþ""ÿrý   zmulti_font_aspath.svggÍÌÌÌÌÌü?c                  C   sh   t jdgd�} tt  | ¡ƒjdkr,t d¡ tjdddgdd� tjd	d
d� t 	¡ }| 
ddd¡ d S )NúWenQuanYi Zen Hei©Úfamilyúwqy-zenhei.ttcúFont may be missingÚfontúDejaVu Sansé   ©r   Úsizer   rz   ©Zfonttypeç333333Ã?çffffffÞ?õ"   There are å‡ ä¸ªæ±‰å­— in between!)ÚfmÚFontPropertiesr   Úfindfontrã   ÚpytestÚskipr   ÚrcrC   rŠ   ©Úfpr    r*   r*   r+   Útest_multi_font_type3ï  s    
r  zmulti_font_astext.svgc                  C   sh   t jdgd�} tt  | ¡ƒjdkr,t d¡ t ¡ }tj	ddd� tj	dd	dgd
d� | 
ddd¡ d S )Nrþ   rÿ   r  r  r   r9   r  r  r  r  r  r	  r
  r  )r  r  r   r  rã   r  r  r   rC   r  rŠ   r  r*   r*   r+   Útest_multi_font_type42ü  s    
r  zmetadata,error,messagerË   r.   z,Invalid type for Date metadata. Expected strz1Invalid type for Date metadata. Expected iterablerê   z0Invalid type for Keywords metadata. Expected strz5Invalid type for Keywords metadata. Expected iterablerÌ   z/Invalid type for Creator metadata. Expected strz4Invalid type for Creator metadata. Expected iterableré   z-Invalid type for Title metadata. Expected strrÍ   z.Invalid type for Format metadata. Expected strZFooZBarzUnknown metadata keyc              
   C   sH   t j||d��0 tƒ �}t ¡ }|j|d| d� W 5 Q R X W 5 Q R X d S )N)Úmatchr   rÏ   )r  Zraisesr   r   rC   r   )rÐ   ÚerrorÚmessager'   r    r*   r*   r+   Útest_svg_incorrect_metadata	  s    r  c               	   C   sV   t  ¡ } | jddddd� tƒ �,}| j|dd� | ¡  ¡ }d|ksHt‚W 5 Q R X d S )Nr†   z<'"&>)r©   r   r   z&lt;&apos;&quot;&amp;&gt;")r   rC   rŠ   r   r   r   rD   rE   )r    r'   r(   r*   r*   r+   Útest_svg_escape!  s    r  Úfont_strz7'DejaVu Sans', 'WenQuanYi Zen Hei', 'Arial', sans-serifz='DejaVu Serif', 'WenQuanYi Zen Hei', 'Times New Roman', serifz%'Arial', 'WenQuanYi Zen Hei', cursivez&'Impact', 'WenQuanYi Zen Hei', fantasyzA'DejaVu Sans Mono', 'WenQuanYi Zen Hei', 'Courier New', monospaceÚinclude_genericFc              	   C   sª  t jdgd�}tt  |¡ƒjdkr,t d¡ tdd„ |  d¡ƒ�^}}}t	|ƒ}|r^||g }|t
jd|› �< |t
jd	< d
t
jd< t
 ¡ \}}|dkr¢dddg}	n|g}	|	D ]:}
|jddd||
gdd� |jddd|f||
f•dd� q¬| d¡ tƒ �}|j|dd� | ¡ }W 5 Q R X tjj |¡}d}d}| d|› d�¡D ]N}|d7 }tdd„ t| ¡ ƒd  d¡D ƒƒd  }||› d!| › �k�sBt‚�qB|t	|jƒk�s¦t‚d S )"Nrþ   rÿ   r  r  c                 S   s
   |   d¡S )Nú'©Ústrip©r"   r*   r*   r+   Ú<lambda>=  ó    z&test_svg_font_string.<locals>.<lambda>z, zfont.z	font.sizer9   rS   z
sans-serifÚsansz
sans serifr†   r  Úcenter)r   Zhar-   Úoffr   r   r‡   r   rˆ   z}textr.   c                 s   s&   | ]}t d d„ | ¡  d¡ƒV  qdS )c                 S   s   |   ¡ S )Nr  r   r*   r*   r+   r!  _  r"  z0test_svg_font_string.<locals>.<genexpr>.<lambda>ú:N)Úmapr  Úsplit)rî   r¡   r*   r*   r+   Ú	<genexpr>^  s   ÿz'test_svg_font_string.<locals>.<genexpr>Ústyleú;r  zpx )r  r  r   r  rã   r  r  r'  r(  rŽ   r   rT   r   rŠ   Zaxisr   r   r   r   r‹   rŒ   r�   r�   Údictr´   rE   Ztexts)r  r  r  ÚexplicitÚrestZgenericr  r    r!   Zgeneric_optionsZgeneric_namer'   r(   r“   r”   Z
text_countZtext_elementZ	font_infor*   r*   r+   Útest_svg_font_string*  sT    
 ÿ



 ÿ
 ÿ
þýr/  c            	      C   s¦   t  ¡ } |  ¡ }t d¡}d}t|dd�}||j_t||ddddt	d	d
d�d�}| 
d¡ | |¡ tƒ �"}| j|dd� | ¡  d¡}W 5 Q R X d}||ks¢t‚d S )N)é    r0  )g333333Ó?gš™™™™™á?r-   )Zzoom)g      ^@g      TÀræ   zoffset pointsr†   z->zangle,angleA=0,angleB=90,rad=3)Z
arrowstyleZconnectionstyle)ZxyboxZxycoordsZ	boxcoordsÚpadZ
arrowpropsza test for issue 20044r   r   zutf-8z<g id="a test for issue 20044">)r   rC   r|   r   Zonesr
   ry   r£   r   r,  r³   rr   r   r   r   rD   rE   )	r    r!   Zarr_imgZxyZimageboxÚabr'   r(   rG   r*   r*   r+   Útest_annotationbbox_gidg  s.    
þû	

r3  )>r÷   Úior   Úpathlibr   Zxml.etree.ElementTreer   Zxml.parsers.expatr  Únumpyr   Z
matplotlibrq   Zmatplotlib.figurer   Zmatplotlib.textr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.testing._markersr   r	   r  r®   r
   r   r,   r4   r@   rA   rR   rU   rf   rm   rt   r„   r*  Úcontextr•   r™   r¶   r·   rF   rÆ   rÒ   rç   rè   rý   r  r  ÚmarkZparametrizeÚ	TypeErrorÚ
ValueErrorr  r  r/  r3  r*   r*   r*   r+   Ú<module>   s¨   



	


:
?"!9


ÿÿ
ÿÿ
ÿÿÿð
	û0