§
    ‡ÛgîV  ã                   ó&  — 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 dYd„ZdZd„Z edg¦  «        d	„ ¦   «         Z ed
g¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z edgd¬¦  «        d„ ¦   «         Z edgd¬¦  «        d„ ¦   «         Zd„ Zd„ Z edg¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z ed g¦  «        d!„ ¦   «         Z ed"g¦  «        d#„ ¦   «         Z ed$gd%¬¦  «        d&„ ¦   «         Z ed'g¦  «        d(„ ¦   «         Z  ed)g¦  «        d*„ ¦   «         Z! ed+g¦  «        d,„ ¦   «         Z" ed-g¦  «        d.„ ¦   «         Z#d/„ Z$d0„ Z%d1„ Z&d2„ Z'd3„ Z(d4„ Z) ed5gd6d7¬8¦  «        d9„ ¦   «         Z*d:„ Z+d;„ Z, ed<gd7¬=¦  «        d>„ ¦   «         Z- ed?gd7¬=¦  «        d@„ ¦   «         Z.dA„ Z/ edBgd6d7dCdDi¬E¦  «        dF„ ¦   «         Z0 edGgd6d7dC ej1        dHd gdIdJgg¦  «        i¬E¦  «        dK„ ¦   «         Z2dL„ Z3dM„ Z4dN„ Z5dO„ Z6dP„ Z7dQ„ Z8dR„ Z9ej:         ;                    dSdTdUi d6fdVdid6fg¦  «        dW„ ¦   «         Z<dX„ Z=dS )[é    N)Úimage_comparison)ÚgridspecÚtickeré   Fc                 óF  — |                       ddg¦  «         |                      d¬¦  «         |sG|                      d|¬¦  «         |                      d|¬¦  «         |                      d|¬¦  «         d S |                      g ¦  «         |                      g ¦  «         d S )	Né   é   é   ©Únbinsúx-label©Úfontsizeúy-labelÚTitle)ÚplotÚlocator_paramsÚ
set_xlabelÚ
set_ylabelÚ	set_titleÚset_xticklabelsÚset_yticklabels)Úaxr   Únodecs      ú]/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_constrainedlayout.pyÚexample_plotr      sª   € Ø‡G‚GˆQ�ˆF�O„O€OØ×Ò˜AÐÑÔÐØð Ø
�Š�i¨(ˆÑ3Ô3Ð3Ø
�Š�i¨(ˆÑ3Ô3Ð3Ø
�Š�W xˆÑ0Ô0Ð0Ð0Ð0à
×Ò˜2ÑÔÐØ
×Ò˜2ÑÔÐÐÐó    c           	      óÆ  — d\  }}t           j        t          dd|z   |¦  «        t          dd|z   |¦  «        f         \  }}d|dz  z
  |dz  z   |dz  z   t          j        |dz   |dz  z
  ¦  «        z  }|                      |||d d…d d…f         d	d
dd¬¦  «        }|                      d|¬¦  «         |                      d|¬¦  «         |                      d|¬¦  «         |S )N)ç333333ã?r   éýÿÿÿr
   r   ç       @é   r	   éÿÿÿÿÚRdBu_rg      ð¿ç      ð?T)ÚcmapÚvminÚvmaxÚ
rasterizedr   r   r   r   )ÚnpÚmgridÚsliceÚexpÚ
pcolormeshr   r   r   )r   r   ÚdxÚdyÚyÚxÚzÚpcms           r   Úexample_pcolorr5      s   € Ø�F€BˆÝŒ8•E˜"˜a "™f bÑ)Ô)Ý˜"˜a "™f bÑ)Ô)ð*ô +�D€A€qà	
ˆQ�‰V‰�a˜1‘fÑ	˜q A™vÑ	%­¬°°a±°¸!¸q¹&Ñ0@Ñ)AÔ)AÑA€AØ
�-Š-˜˜1˜a    S b S œk°¸sÈØ#'ð ñ )ô )€Cà‡M‚M�) h€MÑ/Ô/Ð/Ø‡M‚M�) h€MÑ/Ô/Ð/Ø‡L‚L� 8€LÑ,Ô,Ð,Ø€Jr   zconstrained_layout1.pngc                  óz   — t          j        d¬¦  «        } |                      ¦   «         }t          |d¬¦  «         dS )z,Test constrained_layout for a single subplotÚconstrained©Úlayouté   r   N)ÚpltÚfigureÚadd_subplotr   ©Úfigr   s     r   Útest_constrained_layout1r@   $   s>   € õ Œ*˜MÐ
*Ñ
*Ô
*€CØ	�ŠÑ	Ô	€BÝ�˜bÐ!Ñ!Ô!Ð!Ð!Ð!r   zconstrained_layout2.pngc                  óp   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «         ŒdS )z(Test constrained_layout for 2x2 subplotsr	   r7   r8   r:   r   N)r;   ÚsubplotsÚflatr   ©r?   Úaxsr   s      r   Útest_constrained_layout2rF   ,   sO   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð &ð &ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%ð&ð &r   zconstrained_layout3.pngc                  óÖ   — t          j        ddd¬¦  «        \  } }t          |j        ¦  «        D ]9\  }}t	          |d¬¦  «        }|dk    rd}nd}|                      |||¬	¦  «         Œ:d
S )z3Test constrained_layout for colorbars with subplotsr	   r7   r8   r:   r   r
   g{®Gáz´?ç{®Gáz”?)r   ÚpadN)r;   rB   Ú	enumeraterC   r5   Úcolorbar)r?   rE   Únnr   r4   rI   s         r   Útest_constrained_layout3rM   4   s‡   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆÝ˜CœHÑ%Ô%ð *ð *‰ˆˆBÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š7ˆ7ØˆCˆCàˆCØ�Š�S˜R SˆÑ)Ô)Ð)Ð)ð*ð *r   zconstrained_layout4.pngc                  ó¢   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «        }Œ|                      ||dd¬¦  «         d	S )
z;Test constrained_layout for a single colorbar with subplotsr	   r7   r8   r:   r   ç{®Gáz„?r   ©r   rI   ÚshrinkN©r;   rB   rC   r5   rK   ©r?   rE   r   r4   s       r   Útest_constrained_layout4rT   B   sc   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð .ð .ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆØ‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ð3Ð3r   zconstrained_layout5.pnggü©ñÒMb`?)Útolc                  ó¦   — t          j        ddd¬¦  «        \  } }|j        D ]}t          |d¬¦  «        }Œ|                      ||dddd	¬
¦  «         dS )zZ
    Test constrained_layout for a single colorbar with subplots,
    colorbar bottom
    r	   r7   r8   r:   r   FrO   r   Úbottom)r   Úuse_gridspecrI   rQ   ÚlocationNrR   rS   s       r   Útest_constrained_layout5rZ   L   sv   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð .ð .ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆØ‡L‚L�˜Ø#¨°cØ"ð ñ $ô $ð $ð $ð $r   zconstrained_layout6.pngc            
      ó@  — dt           j        d<   t          j        d¬¦  «        } |                      dd| ¬¦  «        }|d                              dd¦  «        }|d                              dd¦  «        }g }|D ].}|                      |¦  «        }||gz  }t          |d	¬
¦  «         Œ/|                     d¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d	¬
¦  «        }Œ/|  	                    ||dddt          j        d¬¦  «        ¬¦  «         dS )z,Test constrained_layout for nested gridspecsFúpcolormesh.snapr7   r8   r   r	   ©r<   r   r   r   zx-label
MultiLinerO   g®Gáz®ï?rW   r"   r   )r   rI   rQ   rY   ÚticksN)r;   ÚrcParamsr<   Úadd_gridspecÚsubgridspecr=   r   r   r5   rK   r   ÚMaxNLocator)r?   ÚgsÚgslÚgsrÚaxslr   Úaxsrr4   s           r   Útest_constrained_layout6rh   [   sM  € ð ',…C„LÐ"Ñ#å
Œ*˜MÐ
*Ñ
*Ô
*€CØ	×	Ò	˜!˜Q sÐ	Ñ	+Ô	+€BØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ€DØð &ð &ˆØ�_Š_˜RÑ Ô ˆØ��‰ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%Ø‡M‚MÐ&Ñ'Ô'Ð'Ø€DØð .ð .ˆØ�_Š_˜RÑ Ô ˆØ��‰ˆÝ˜R¨"Ð-Ñ-Ô-ˆˆà‡L‚L�˜Ø $°ÝÔ)°Ð2Ñ2Ô2ð ñ 4ô 4ð 4ð 4ð 4r   c                  ó   — t          j        d¬¦  «        } |                      dd¦  «        }|d                              dd¦  «        }|d                              dd¦  «        }g }g }t	          d¦  «        D ]@}||                      ||         ¦  «        gz  }||                      ||         ¦  «        gz  }ŒA|                      ¦   «          |d                              ¦   «         j        |d                              ¦   «         j	        k    sJ ‚d S )NT©Úconstrained_layoutr	   r   r   r
   )
r;   r<   r`   ra   Úranger=   Údraw_without_renderingÚget_positionÚy0Úy1)r?   ÚGSÚGSAÚGSBÚaxaÚaxbÚis          r   Útest_identical_subgridspecrw   v   s  € å
Œ*¨Ð
-Ñ
-Ô
-€Cà	×	Ò	˜!˜QÑ	Ô	€Bà
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€CØ
ˆQŒ%×
Ò
˜A˜qÑ
!Ô
!€Cà
€CØ
€CÝ�1‰XŒXð )ð )ˆØ�—’  A¤Ñ'Ô'Ð(Ñ(ˆØ�—’  A¤Ñ'Ô'Ð(Ñ(ˆˆà×ÒÑ Ô Ð àˆqŒ6×ÒÑ Ô Ô# c¨!¤f×&9Ò&9Ñ&;Ô&;Ô&>Ò>Ð>Ð>Ð>Ð>Ð>r   c                  óŽ  — t          j        t          d¬¦  «        5  t          j        d¬¦  «        } t          j        dd¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ¦  «        }|D ]}|                      |¦  «         Œ|  	                    ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )	z2Test for proper warning if fig not set in GridSpeczhThere are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword©Úmatchr7   r8   r   r	   r   N)
ÚpytestÚwarnsÚUserWarningr;   r<   r   ÚGridSpecÚGridSpecFromSubplotSpecr=   rm   )r?   rc   rd   re   s       r   Útest_constrained_layout7r€   Š   s  € å	ŒÝð 3ð
5ñ 
5ô 
5ð %ð %õ Œj Ð.Ñ.Ô.ˆÝÔ˜q !Ñ$Ô$ˆÝÔ.¨q°!°R¸´UÑ;Ô;ˆÝÔ.¨q°!°R¸´UÑ;Ô;ˆØð 	 ð 	 ˆBØ�OŠO˜BÑÔÐÐà×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   œBB:Â:B>ÃB>zconstrained_layout8.pngc                  ó0  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }g }dD ]”}|dk    rd	g}ndd
g}|D ]�}|                      |||f         ¦  «        }||gz  }t          |d¬¦  «         |dk    r|                     d¦  «         |d	k     r|                     d¦  «         |                     d¦  «         Œ‚Œ•|                      |ddd…f         ¦  «        }||gz  }t          |d¬¦  «        }|  	                    ||dd¬¦  «         dS )z/Test for gridspecs that are not completely full)é
   r"   r7   ©Úfigsizer9   r
   r"   r]   ©r   r   r   r   é   é	   r   Ú r	   NrO   r   rP   )
r;   r<   r   r~   r=   r5   r   r   r   rK   )r?   rc   rE   ÚjÚilistrv   r   r4   s           r   Útest_constrained_layout8r‹   š   sP  € õ Œ*˜W¨]Ð
;Ñ
;Ô
;€CÝ	Ô	˜1˜a¨Ð	,Ñ	,Ô	,€BØ
€CØð ð ˆØ�Š6ˆ6Ø�CˆEˆEà˜�FˆEØð 	ð 	ˆAØ—’  A q D¤Ñ*Ô*ˆBØ�B�4‰KˆCÝ˜2¨Ð*Ñ*Ô*Ð*Ø�1ŠuˆuØ—’˜bÑ!Ô!Ð!Ø�1ŠuˆuØ—’˜bÑ!Ô!Ð!Ø�LŠL˜ÑÔÐÐð	ð 
�Š˜˜A˜q˜q˜q˜DœÑ	"Ô	"€BØˆBˆ4�K€CÝ
˜ aÐ
(Ñ
(Ô
(€Cà‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ð3Ð3r   zconstrained_layout9.pngc                  óR  — t          j        ddddd¬¦  «        \  } }|j        D ]=}t          |d¬¦  «        }|                     d¦  «         |                     d¦  «         Œ>|                     d¦  «         |                      ||d	d
¬¦  «         |                      dd¬¦  «         dS )z4Test for handling suptitle and for sharex and shareyr	   r7   F©r9   ÚsharexÚshareyr:   r   rˆ   r!   rO   r   rP   zTest Suptitleé   N)	r;   rB   rC   r5   r   r   Ú
set_aspectrK   ÚsuptitlerS   s       r   Útest_constrained_layout9r“   ¶   s»   € õ Œ|˜A˜q¨Ø#(°ð8ñ 8ô 8�H€CˆàŒhð ð ˆÝ˜R¨"Ð-Ñ-Ô-ˆØ
�Š�bÑÔÐØ
�Š�bÑÔÐÐØ‡M‚M�"ÑÔÐØ‡L‚L�˜ $¨s€LÑ3Ô3Ð3Ø‡L‚L�¨2€LÑ.Ô.Ð.Ð.Ð.r   zconstrained_layout10.pngc                  óÎ   — t          j        ddd¬¦  «        \  } }|j        D ]+}|                     t	          j        d¦  «        d¬¦  «         Œ,|                     dd¬	¦  «         d
S )z%Test for handling legend outside axisr	   r7   r8   r   zThis is a label)Úlabelzcenter left)gš™™™™™é?ç      à?)ÚlocÚbbox_to_anchorN)r;   rB   rC   r   r*   ÚarangeÚlegendrD   s      r   Útest_constrained_layout10r›   Å   sm   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð 8ð 8ˆØ
�Š•”	˜"‘”Ð%6ˆÑ7Ô7Ð7Ð7Ø‡I‚I�-°
€IÑ;Ô;Ð;Ð;Ð;r   zconstrained_layout11.pngc                  ó  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ¦  «        }|                      |d         ¦  «        }t          |d¬	¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d¬	¦  «        }Œ/|                      ||d
d¬¦  «         |                      |d         ¦  «        }t          |d¬	¦  «         dS )z"Test for multiple nested gridspecsr7   )é   r
   ©r9   r„   r   r	   r]   r   r‡   r   r   ç     €Q@©r   rQ   ÚaspectN©	r;   r<   r   r~   r   r=   r   r5   rK   ©r?   Úgs0rd   Úgsl0r   rE   rc   r4   s           r   Útest_constrained_layout11r¦   Î   s  € õ Œ*˜M°7Ð
;Ñ
;Ô
;€CÝ
Ô
˜A˜q¨Ð
-Ñ
-Ô
-€CÝ
Ô
*¨1¨a°°Q´Ñ
8Ô
8€CÝÔ+¨A¨q°#°a´&Ñ9Ô9€DØ	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ø
€CØð -ð -ˆØ�_Š_˜RÑ Ô ˆØ�ˆt‰ˆÝ˜R¨!Ð,Ñ,Ô,ˆˆØ‡L‚L�˜ S°€LÑ5Ô5Ð5Ø	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ð Ð r   zconstrained_layout11rat.pngc                  ó&  — t          j        dd¬¦  «        } t          j        dd| ddg¬¦  «        }t          j        dd|d         ¦  «        }t          j        dd|d         ddg¬	¦  «        }|                      |d         ¦  «        }t          |d
¬¦  «         g }|D ].}|                      |¦  «        }||gz  }t          |d
¬¦  «        }Œ/|                      ||dd¬¦  «         |                      |d         ¦  «        }t          |d
¬¦  «         dS )z4Test for multiple nested gridspecs with width_ratiosr7   )r‚   r
   rž   r   r	   é   )r<   Úwidth_ratiosr   )Úheight_ratiosr‡   r   r   rŸ   r    Nr¢   r£   s           r   Útest_constrained_layout11ratr«   â   s"  € õ Œ*˜M°7Ð
;Ñ
;Ô
;€CÝ
Ô
˜A˜q¨¸A¸q¸6Ð
BÑ
BÔ
B€CÝ
Ô
*¨1¨a°°Q´Ñ
8Ô
8€CÝÔ+¨A¨q°#°a´&ÈÈAÈÐOÑOÔO€DØ	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ø
€CØð -ð -ˆØ�_Š_˜RÑ Ô ˆØ�ˆt‰ˆÝ˜R¨!Ð,Ñ,Ô,ˆˆØ‡L‚L�˜ S°€LÑ5Ô5Ð5Ø	�Š˜˜QœÑ	 Ô	 €BÝ�˜aÐ Ñ Ô Ð Ð Ð r   zconstrained_layout12.pngc                  ój  — t          j        dd¬¦  «        } t          j        dd| ¬¦  «        }|                      |dd…d	f         ¦  «        }|                      |dd…d	f         ¦  «        }t          |d
¬¦  «         t          |d
¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                      |dd…df         ¦  «        }t          |d¬¦  «         |                     d¦  «         dS )z/Test that very unbalanced labeling still works.r7   )r¨   é   rž   r¨   r	   r]   Nr
   r   é   r   r   T)r   r†   r   )r;   r<   r   r~   r=   r   r   )r?   r¤   Úax1Úax2r   s        r   Útest_constrained_layout12r±   ö   s7  € õ Œ*˜M°6Ð
:Ñ
:Ô
:€Cå
Ô
˜A˜q¨Ð
-Ñ
-Ô
-€Cà
�/Š/˜#˜b˜q˜b !˜eœ*Ñ
%Ô
%€CØ
�/Š/˜#˜a˜b˜b !˜eœ*Ñ
%Ô
%€Cå�˜rÐ"Ñ"Ô"Ð"Ý�˜rÐ"Ñ"Ô"Ð"à	�Š˜˜Q˜q˜S !˜VœÑ	%Ô	%€BÝ�˜4Ð Ñ Ô Ð Ø	�Š˜˜Q˜q˜S !˜VœÑ	%Ô	%€BÝ�˜4Ð Ñ Ô Ð Ø	�Š˜˜Q˜R˜R ˜UœÑ	$Ô	$€BÝ�˜4Ð Ñ Ô Ð Ø‡M‚M�)ÑÔÐÐÐr   zconstrained_layout13.pngrH   c                  óª  — t          j        ddd¬¦  «        \  } }|j        D ]-}t          |d¬¦  «        }|                      ||ddd¬	¦  «         Œ.t          j        t          ¦  «        5  |                      ¦   «          	                    d
d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      ¦   «          	                    dd¬¦  «         dS )úTest that padding works.r	   r7   r8   r   r   r   ç      4@rH   ©r   rQ   r¡   rI   r   )ÚwpadÚhpadNgUUUUUUÕ?©Úw_padÚh_pad)
r;   rB   rC   r5   rK   r{   ÚraisesÚ	TypeErrorÚget_layout_engineÚsetrS   s       r   Útest_constrained_layout13r¿     s  € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð Cð CˆÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š�S˜R¨°C¸TˆÑBÔBÐBÐBÝ	Œ•yÑ	!Ô	!ð 4ð 4Ø×ÒÑÔ×#Ò#¨°Ð#Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à×ÒÑÔ×Ò g°WÐÑ=Ô=Ð=Ð=Ð=s   Á)*BÂB#Â&B#zconstrained_layout14.pngc                  óú   — t          j        ddd¬¦  «        \  } }|j        D ]-}t          |d¬¦  «        }|                      ||ddd¬	¦  «         Œ.|                      ¦   «                              d
d
dd¬¦  «         dS )r³   r	   r7   r8   r   r   r   r´   rH   rµ   gUUUUUU¥?çš™™™™™É?©r¹   rº   ÚhspaceÚwspaceN)r;   rB   rC   r5   rK   r½   r¾   rS   s       r   Útest_constrained_layout14rÅ     sŸ   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð Cð CˆÝ˜R¨"Ð-Ñ-Ô-ˆØ�Š�S˜R¨°C¸TˆÑBÔBÐBÐBØ×ÒÑÔ×ÒØ Ø˜sð  ñ $ô $ð $ð $ð $r   zconstrained_layout15.pngc                  óŠ   — dt           j        d<   t          j        dd¦  «        \  } }|j        D ]}t          |d¬¦  «         ŒdS )zTest that rcparams work.Tzfigure.constrained_layout.user	   r   r   N)Úmplr_   r;   rB   rC   r   rD   s      r   Útest_constrained_layout15rÈ   $  sW   € ð 59…C„LÐ0Ñ1ÝŒ|˜A˜qÑ!Ô!�H€CˆØŒhð &ð &ˆÝ�R "Ð%Ñ%Ô%Ð%Ð%ð&ð &r   zconstrained_layout16.pngc                  ó†   — t          j        d¬¦  «        \  } }t          |d¬¦  «         |                      g d¢¦  «        }dS )zTest ax.set_position.r7   r8   r   r   )rÁ   rÁ   çš™™™™™Ù?rÊ   N)r;   rB   r   Úadd_axes©r?   r   r°   s      r   Útest_constrained_layout16rÍ   -  sI   € õ Œl -Ð0Ñ0Ô0�G€CˆÝ�˜bÐ!Ñ!Ô!Ð!Ø
�,Š,Ð+Ð+Ð+Ñ
,Ô
,€C€C€Cr   zconstrained_layout17.pngc                  óÊ  — t          j        d¬¦  «        } t          j        dd| ¬¦  «        }|                      |d         ¦  «        }|                      |ddd…f         ¦  «        }|                      |dd…dd	…f         ¦  «        }|                      |dd…d
f         ¦  «        }t          |¦  «         t          |¦  «         t          |¦  «         t          |¦  «         dS )zTest uneven gridspecsr7   r8   r
   r]   ©r   r   r   r   Nr	   r#   )r;   r<   r   r~   r=   r   )r?   rc   r¯   r°   Úax3Úax4s         r   Útest_constrained_layout17rÒ   5  sÛ   € õ Œ*˜MÐ
*Ñ
*Ô
*€CÝ	Ô	˜1˜a¨Ð	,Ñ	,Ô	,€Bà
�/Š/˜"˜Tœ(Ñ
#Ô
#€CØ
�/Š/˜"˜Q   ˜Uœ)Ñ
$Ô
$€CØ
�/Š/˜"˜Q˜R˜R  1 ˜Wœ+Ñ
&Ô
&€CØ
�/Š/˜"˜Q˜R˜R ˜Vœ*Ñ
%Ô
%€Cå�ÑÔÐÝ�ÑÔÐÝ�ÑÔÐÝ�ÑÔÐÐÐr   c                  óL  — t          j        d¬¦  «        \  } }|                     ¦   «         }t          |¦  «         t          |d¬¦  «         |                      ¦   «          t          |                     ¦   «         j        |                     ¦   «         j        k    ¦  «        sJ ‚dS )z
Test twinxr7   r8   r:   r   N)r;   rB   Útwinxr   rm   Úallrn   ÚextentsrÌ   s      r   Útest_constrained_layout18r×   F  s“   € åŒl -Ð0Ñ0Ô0�G€CˆØ
�(Š(‰*Œ*€CÝ�ÑÔÐÝ�˜rÐ"Ñ"Ô"Ð"Ø×ÒÑ Ô Ð Ýˆr�ŠÑ Ô Ô(¨C×,<Ò,<Ñ,>Ô,>Ô,FÒFÑGÔGÐGÐGÐGÐGÐGr   c                  ó   — t          j        d¬¦  «        \  } }|                     ¦   «         }t          |¦  «         t          |d¬¦  «         |                     d¦  «         |                     d¦  «         |                      ¦   «          t          |                     ¦   «         j        |                     ¦   «         j        k    ¦  «        sJ ‚dS )z
Test twinyr7   r8   r:   r   rˆ   N)	r;   rB   Útwinyr   r   rm   rÕ   rn   rÖ   rÌ   s      r   Útest_constrained_layout19rÚ   P  s·   € åŒl -Ð0Ñ0Ô0�G€CˆØ
�(Š(‰*Œ*€CÝ�ÑÔÐÝ�˜rÐ"Ñ"Ô"Ð"Ø‡M‚M�"ÑÔÐØ‡L‚L�ÑÔÐØ×ÒÑ Ô Ð Ýˆr�ŠÑ Ô Ô(¨C×,<Ò,<Ñ,>Ô,>Ô,FÒFÑGÔGÐGÐGÐGÐGÐGr   c                  ó4  — t          j        ddd¦  «        } t          j        | | dd…df         ¦  «        }t          j        ¦   «         }|                     g d¢¦  «        }|                     | | |dd…dd…f         ¦  «        }|                     |¦  «         dS )z)Smoke test cl does not mess up added axeséûÿÿÿr"   r†   N)r   r   r   r   r#   )r*   ÚlinspaceÚhypotr;   r<   rË   r.   rK   )ÚgxÚimgr?   r   Úmeshs        r   Útest_constrained_layout20râ   \  s�   € å	Œ�R˜˜AÑ	Ô	€BÝ
Œ(�2�r˜!˜!˜!˜T˜'”{Ñ
#Ô
#€Cå
Œ*‰,Œ,€CØ	�Š�l�l�lÑ	#Ô	#€BØ�=Š=˜˜R  S b S¨#¨2¨# X¤Ñ/Ô/€DØ‡L‚L�ÑÔÐÐÐr   c                  óÆ  — t          j        d¬¦  «        \  } }|                      d¦  «         |                      ¦   «          t	          j        |                     ¦   «         j        ¦  «        }|                      d¦  «         |                      ¦   «          t	          j        |                     ¦   «         j        ¦  «        }t          j         	                    ||¦  «         dS )z>#11035: repeated calls to suptitle should not alter the layoutr7   r8   Ú	Suptitle0Ú	Suptitle1N)
r;   rB   r’   rm   r*   Úcopyrn   rÖ   ÚtestingÚassert_allclose©r?   r   Úextents0Úextents1s       r   Útest_constrained_layout21rì   g  s¶   € åŒl -Ð0Ñ0Ô0�G€Cˆà‡L‚L�ÑÔÐØ×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hà‡L‚L�ÑÔÐØ×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hå„J×Ò˜x¨Ñ2Ô2Ð2Ð2Ð2r   c                  ó   — t          j        d¬¦  «        \  } }|                      ¦   «          t          j        |                     ¦   «         j        ¦  «        }|                      dd¬¦  «         |                      ¦   «          t          j        |                     ¦   «         j        ¦  «        }t          j         	                    ||¦  «         dS )zC#11035: suptitle should not be include in CL if manually positionedr7   r8   ÚSuptitler–   ©r1   N)
r;   rB   rm   r*   ræ   rn   rÖ   r’   rç   rè   ré   s       r   Útest_constrained_layout22rð   v  s¨   € åŒl -Ð0Ñ0Ô0�G€Cˆà×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hà‡L‚L�˜s€LÑ#Ô#Ð#Ø×ÒÑ Ô Ð ÝŒw�r—’Ñ(Ô(Ô0Ñ1Ô1€Hå„J×Ò˜x¨Ñ2Ô2Ð2Ð2Ð2r   c                  ó  — t          d¦  «        D ]s} t          j        ddd¬¦  «        }|                     dd¦  «        }|d                              dd¦  «        }|                     d                     | ¦  «        ¦  «         Œtd	S )
zu
    Comment in #11035: suptitle used to cause an exception when
    reusing a figure w/ CL with ``clear=True``.
    r	   r7   TÚ123)r9   ÚclearÚnumr   r   z
Suptitle{}N)rl   r;   r<   r`   ra   r’   Úformat)rv   r?   rc   Úsubs       r   Útest_constrained_layout23r÷   „  sŠ   € õ �1‰XŒXð -ð -ˆÝŒj °T¸uÐEÑEÔEˆØ×Ò˜a Ñ#Ô#ˆØ�Œe×Ò  1Ñ%Ô%ˆØ�Š�\×(Ò(¨Ñ+Ô+Ñ,Ô,Ð,Ð,ð	-ð -r   ztest_colorbar_location.pngTÚmpl20)Úremove_textÚstylec                  óz  — dt           j        d<   t          j        ddd¬¦  «        \  } }|j        D ];}t	          |¦  «        }|                     d¦  «         |                     d¦  «         Œ<|                      ||dd…d	f         d
¬¦  «         |                      ||ddd…f         dd¬¦  «         |                      ||ddd…f         ddd¬¦  «         |                      ||ddd…f         dd¬¦  «         |                      ||d         dd¬¦  «         |                      ||d	d…df         dd¬¦  «         dS )zY
    Test that colorbar handling is as expected for various complicated
    cases...
    Fr\   r†   r"   r7   r8   rˆ   Nr   rÊ   )r   rQ   r#   r	   r–   rW   )r   rQ   rY   r   gš™™™™™©?)r   rQ   rY   rI   éþÿÿÿr
   ÚtoprÏ   ÚleftÚright)r;   r_   rB   rC   r5   r   r   rK   rS   s       r   Útest_colorbar_locationr   ‘  sR  € ð ',…C„LÐ"Ñ#åŒ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØŒhð ð ˆÝ˜RÑ Ô ˆØ
�Š�bÑÔÐØ
�Š�bÑÔÐÐØ‡L‚L�˜˜Q˜Q˜Q ˜Tœ¨3€LÑ/Ô/Ð/Ø‡L‚L�˜˜R  ! ˜Vœ¨S¸8€LÑDÔDÐDØ‡L‚L�˜˜Q   ˜Uœ¨C¸(È€LÑMÔMÐMØ‡L‚L�˜˜R   ˜Vœ¨S¸5€LÑAÔAÐAØ‡L‚L�˜˜Tœ¨3¸€LÑ@Ô@Ð@Ø‡L‚L�˜˜Q˜q˜S !˜Vœ¨S¸7€LÑCÔCÐCÐCÐCr   c                  óB  — t          j        ddd¬¦  «        \  } }|d                              d¦  «         |                      ¦   «          t	          j        |d                              ¦   «         j        ¦  «        }t          j         	                    |g d¢d¬	¦  «         d S )
Nr	   r7   r8   r…   FrÏ   )g›çˆ|—R§?g\å	„�bá?g&�Ñ:ªšÞ?g³Ñ9?Åqï?çñhãˆµøä>)Úrtol)
r;   rB   Úset_visiblerm   r*   ræ   rn   rÖ   rç   rè   )r?   rE   rë   s      r   Útest_hidden_axesr  ¨  s¦   € õ Œ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„I×Ò˜%Ñ Ô Ð Ø×ÒÑ Ô Ð ÝŒw�s˜4”y×-Ò-Ñ/Ô/Ô7Ñ8Ô8€Hå„J×ÒØÐ9Ð9Ð9Àð ñ Fô Fð Fð Fð Fr   c            	      óÆ  — dD �]Ü} t          j        ddd¬¦  «        \  }}g }t          |j        ¦  «        D ]Ó\  }}|                     d¬¦  «         t          |¦  «        }|                     ||| dd¬	¦  «        }||gz  }|j                             d¬¦  «         |d
k    rh|j        j         	                    g ¦  «         |j        j
         	                    g ¦  «         |                     g ¦  «         |                     g ¦  «         ŒÔ|                     ¦   «                              dddd¬¦  «         |                     ¦   «          | dv rÊt           j                             |d         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         t           j                             |d
         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         �Œt           j                             |d         j                             ¦   «         j        |d
         j                             ¦   «         j        ¦  «         t           j                             |d         j                             ¦   «         j        |d         j                             ¦   «         j        ¦  «         �ŒÞd S )N)rÿ   rþ   rý   rW   r	   r7   r8   Úin)Ú	directionr   g{®Gáz¤?)r   rY   rQ   rI   r   gÇqÇq¬?gš™™™™™¹?rÂ   )rþ   rÿ   r   r
   )r;   rB   rJ   rC   Útick_paramsr5   rK   r   ÚxaxisÚ	set_ticksÚyaxisr   r   r½   r¾   rm   r*   rç   rè   rn   Úx0ro   )rY   r?   rE   ÚcbsrL   r   ÚpcÚcbs           r   Útest_colorbar_alignr  µ  sµ  € Ø6ð Dñ DˆÝ”<  1¨]Ð;Ñ;Ô;‰ˆˆSØˆÝ ¤Ñ)Ô)ð 	'ð 	'‰FˆB�Ø�NŠN TˆNÑ*Ô*Ð*Ý Ñ#Ô#ˆBØ—’˜b R°(À3Ø"&ð ñ (ô (ˆBà�B�4‰KˆCØŒE×Ò¨ÐÑ-Ô-Ð-Ø�QŠwˆwØ””×%Ò% bÑ)Ô)Ð)Ø””×%Ò% bÑ)Ô)Ð)Ø×"Ò" 2Ñ&Ô&Ð&Ø×"Ò" 2Ñ&Ô&Ð&øØ×ÒÑÔ×#Ò#¨&¸Ø+.°sð 	$ñ 	<ô 	<ð 	<ð 	×"Ò"Ñ$Ô$Ð$ØÐ(Ð(Ð(ÝŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð DåŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð Dñ Dõ ŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð DåŒJ×&Ò& s¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BØ'*¨1¤v¤y×'=Ò'=Ñ'?Ô'?Ô'BñDô Dð Dñ Dð7Dð Dr   ztest_colorbars_no_overlapV.png)rú   c                  ó‚  — t          j        dd¬¦  «        } |                      dddd¬¦  «        }|D ]w}|j                             t          j        ¦   «         ¦  «         |                     dd	¬
¦  «         |                     ddgddgg¦  «        }|  	                    ||d¬¦  «         Œx|  
                    d¦  «         d S )N)r	   r†   r7   rƒ   r	   r   T©rŽ   r�   Úbothr  ©Úaxisr  r
   r†   Úvertical©r   ÚorientationÚfoo)r;   r<   rB   r  Úset_major_formatterr   ÚNullFormatterr	  ÚimshowrK   r’   ©r?   rE   r   Úims       r   Útest_colorbars_no_overlapVr   Õ  sÄ   € å
Œ*˜V¨MÐ
:Ñ
:Ô
:€CØ
�,Š,�q˜! D°ˆ,Ñ
6Ô
6€CØð 8ð 8ˆØ
Œ×$Ò$¥VÔ%9Ñ%;Ô%;Ñ<Ô<Ð<Ø
�Š˜F¨dˆÑ3Ô3Ð3Ø�YŠY˜˜A˜  A Ð'Ñ(Ô(ˆØ�Š�R˜B¨JˆÑ7Ô7Ð7Ð7Ø‡L‚L�ÑÔÐÐÐr   ztest_colorbars_no_overlapH.pngc                  ó‚  — t          j        dd¬¦  «        } |                      d¦  «         |                      dddd¬¦  «        }|D ]w}|j                             t          j        ¦   «         ¦  «         |                     d	d
¬¦  «         | 	                    ddgddgg¦  «        }|  
                    ||d¬¦  «         Œxd S )N)r†   r	   r7   rƒ   r  r   r	   Tr  r  r  r  r
   r†   Ú
horizontalr  )r;   r<   r’   rB   r  r  r   r  r	  r  rK   r  s       r   Útest_colorbars_no_overlapHr#  á  sÈ   € å
Œ*˜V¨MÐ
:Ñ
:Ô
:€CØ‡L‚L�ÑÔÐØ
�,Š,�q˜! D°ˆ,Ñ
6Ô
6€CØð :ð :ˆØ
Œ×$Ò$¥VÔ%9Ñ%;Ô%;Ñ<Ô<Ð<Ø
�Š˜F¨dˆÑ3Ô3Ð3Ø�YŠY˜˜A˜  A Ð'Ñ(Ô(ˆØ�Š�R˜B¨LˆÑ9Ô9Ð9Ð9ð	:ð :r   c                  óÞ  — t          j        ddd¬¦  «        \  } }|d                              g d¢¦  «         |                      ¦   «          |d                              ¦   «         }t
          j                             |ddgddgg¦  «         t          j        ddd¬¦  «        \  } }|d                              g d¢¦  «         |d                              t
          j	         
                    d	d	¦  «        ¦  «        }|                      ||d         ¬
¦  «         |                      ¦   «          |d                              ¦   «         }t
          j                             |ddgddgg¦  «         d S )Nr   r	   r7   r8   r   ©rÁ   rÁ   ç333333Ó?r&  rÁ   r–   é   ©r   g)\�Âõ(Ü?)r;   rB   Úset_positionrm   rn   r*   rç   rè   r.   ÚrandomÚrandrK   )r?   rE   Úppr  s       r   Útest_manually_set_positionr-  í  sS  € ÝŒ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„F×ÒÐ,Ð,Ð,Ñ-Ô-Ð-Ø×ÒÑ Ô Ð Ø	ˆQŒ×	Ò	Ñ	Ô	€BÝ„J×Ò˜r S¨# J°°c°
Ð#;Ñ<Ô<Ð<åŒ|˜A˜q¨Ð7Ñ7Ô7�H€CˆØˆ„F×ÒÐ,Ð,Ð,Ñ-Ô-Ð-Ø	ˆQŒ×	Ò	�2œ9Ÿ>š>¨"¨bÑ1Ô1Ñ	2Ô	2€BØ‡L‚L�˜˜Aœ€LÑÔÐØ×ÒÑ Ô Ð Ø	ˆQŒ×	Ò	Ñ	Ô	€BÝ„J×Ò˜r S¨# J°°s°Ð#<Ñ=Ô=Ð=Ð=Ð=r   ztest_bboxtight.pngÚbbox_inchesÚtight)rù   rú   Úsavefig_kwargc                  ó`   — t          j        d¬¦  «        \  } }|                     d¦  «         d S ©Nr7   r8   r%   ©r;   rB   r‘   r>   s     r   Útest_bboxtightr4  ý  s2   € õ Œl -Ð0Ñ0Ô0�G€CˆØ‡M‚M�"ÑÔÐÐÐr   ztest_bbox.pngr–   g      @r	   c                  ó`   — t          j        d¬¦  «        \  } }|                     d¦  «         d S r2  r3  r>   s     r   Ú	test_bboxr6    s2   € õ
 Œl -Ð0Ñ0Ô0�G€CˆØ‡M‚M�"ÑÔÐÐÐr   c                  ó
  — t          j        ddddddi¬¦  «        \  } \  }}}|                     dd¦  «         |                     d	¦  «         |                     d
d¦  «         |                     d	¦  «         |                     dd¦  «         |                     d	¦  «         |                      |||f¬¦  «         |                      ¦   «          |j        j                             ¦   «         |j        j                             ¦   «         |j        j                             ¦   «         g}t          j
                             |d         j        |d         j        g|d         j        dd¬¦  «         |d         j        dk    sJ ‚dS )zî
    Tests for a bug in which constrained layout and align_ylabels on
    three unevenly sized subplots, one of whose y tick labels include
    negative numbers, drives the non-negative subplots' y labels off
    the edge of the plot
    r
   r   r7   )gš™™™™™@r­   rª   )r   r   gffffffæ?)r9   r„   Úgridspec_kwr   ÚLabelg      ø¿g      ø?)rE   r	   r  )r  ÚatolN)r;   rB   Úset_ylimr   Úalign_ylabelsrm   r  r•   Úget_window_extentr*   rç   rè   r  )r?   rÐ   r¯   r°   Úafter_aligns        r   Útest_align_labelsr?    s‹  € õ œ<¨¨1°]Ø08Ø5Dð GLð 5MðNñ Nô NÑ€C‰ˆ#ˆs�Cð
 ‡L‚L��AÑÔÐØ‡N‚N�7ÑÔÐà‡L‚L��sÑÔÐØ‡N‚N�7ÑÔÐà‡L‚L��AÑÔÐØ‡N‚N�7ÑÔÐà×Ò˜3  S˜/ÐÑ*Ô*Ð*à×ÒÑ Ô Ð Ø”9”?×4Ò4Ñ6Ô6Ø”9”?×4Ò4Ñ6Ô6Ø”9”?×4Ò4Ñ6Ô6ð8€Kõ „J×Ò ¨A¤Ô 1°;¸q´>Ô3DÐEØ*¨1œ~Ô0°q¸uð ñ Fô Fð Fð �qŒ>Ô Ò!Ð!Ð!Ð!Ð!Ð!r   c                  ó¾  — t          j        d¬¦  «        \  } }|                      ¦   «          |                     | j                             ¦   «         ¦  «        }|                      d¦  «         |                      d¦  «         |                      ¦   «          |                     | j                             ¦   «         ¦  «        }|j        |j        dz   k    sJ ‚|j	        |j	        dz   k    sJ ‚t          j        d¬¦  «        \  } }|                      ¦   «          |                     | j                             ¦   «         ¦  «        }|                      dd¬¦  «         |                      dd¬¦  «         |                      ¦   «          |                     | j                             ¦   «         ¦  «        }|j        |j        dz   k    sJ ‚|j	        |j	        dz   k    sJ ‚d S )	Nr7   r8   ÚBooÚBooyg      $@r–   )r2   rï   )
r;   rB   rm   Úget_tightbboxÚcanvasÚget_rendererÚ	supxlabelÚ	supylabelro   r  )r?   r   Úpos0Úposs       r   Útest_suplabelsrJ  0  s´  € ÝŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑ Ô Ð Ø×Ò˜CœJ×3Ò3Ñ5Ô5Ñ6Ô6€DØ‡M‚M�%ÑÔÐØ‡M‚M�&ÑÔÐØ×ÒÑ Ô Ð Ø
×
Ò
˜3œ:×2Ò2Ñ4Ô4Ñ
5Ô
5€CØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"ØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"åŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑ Ô Ð Ø×Ò˜CœJ×3Ò3Ñ5Ô5Ñ6Ô6€Dà‡M‚M�%˜3€MÑÔÐØ‡M‚M�%˜3€MÑÔÐØ×ÒÑ Ô Ð Ø
×
Ò
˜3œ:×2Ò2Ñ4Ô4Ñ
5Ô
5€CØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"ØŒ6�D”G˜d‘NÒ"Ð"Ð"Ð"Ð"Ð"r   c                  óÂ   — t          j        ¦   «         } |                      dd¦  «        }|                      |dd …dd …f         ¦  «        }|                      ¦   «          d S )Nr
   r   r   )r;   r<   r`   r=   rm   )r?   rc   Úsps      r   Útest_gridspec_addressingrM  G  s[   € Ý
Œ*‰,Œ,€CØ	×	Ò	˜!˜QÑ	Ô	€BØ	�Š˜˜A˜B˜B   ˜FœÑ	$Ô	$€BØ×ÒÑ Ô Ð Ð Ð r   c                  ó.  — t          j        d¬¦  «        \  } }|                      ¦   «          t          j        t
          d¬¦  «        5  t          j        ¦   «         \  } }|                      d¦  «         |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          j        ¦   «         \  } }|                      dddœ¦  «         |                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NTrj   zwill be deprecatedry   rH   r¸   )r;   rB   rm   r{   r|   ÚPendingDeprecationWarningÚset_constrained_layoutr>   s     r   Útest_discouraged_apirQ  N  s‘  € ÝŒl¨dÐ3Ñ3Ô3�G€CˆØ×ÒÑ Ô Ð å	ŒÕ/Ø0ð
2ñ 
2ô 
2ð %ð %å”,‘.”.‰ˆˆRØ×"Ò" 4Ñ(Ô(Ð(Ø×"Ò"Ñ$Ô$Ð$ð	%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
ŒÕ/Ø0ð
2ñ 
2ô 
2ð %ð %å”,‘.”.‰ˆˆRØ×"Ò"¨T¸DÐ#AÐ#AÑBÔBÐBØ×"Ò"Ñ$Ô$Ð$ð	%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s&   ÁA BÂBÂBÂ:AD
Ä
DÄDc                  ób   — t          j        ddi¬¦  «        \  } }|                      ¦   «          d S )Nrº   rH   rj   )r;   rB   rm   r>   s     r   Útest_kwargsrS  _  s4   € ÝŒl¨w¸¨oÐ>Ñ>Ô>�G€CˆØ×ÒÑ Ô Ð Ð Ð r   c                  óJ  — t          j        d¬¦  «        \  } }|                      ¦   «                              g d¢¬¦  «         |                      ¦   «          |                     ¦   «         }|j        dk     sJ ‚|j        dk     sJ ‚t          j        d¬¦  «        \  } }|                      ¦   «                              g d¢¬¦  «         |                      ¦   «          |                     ¦   «         }|j        dk     sJ ‚|j        dk     sJ ‚|j        dk    sJ ‚|j	        dk    sJ ‚d S )Nr7   r8   )r   r   r–   r–   )Úrectr–   r%  rÁ   )
r;   rB   r½   r¾   rm   rn   Úx1rp   r  ro   )r?   r   Úpposs      r   Ú	test_rectrX  d  s"  € ÝŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑÔ×ÒÐ%5Ð%5Ð%5ÐÑ6Ô6Ð6Ø×ÒÑ Ô Ð Ø�?Š?ÑÔ€DØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=åŒl -Ð0Ñ0Ô0�G€CˆØ×ÒÑÔ×ÒÐ%9Ð%9Ð%9ÐÑ:Ô:Ð:Ø×ÒÑ Ô Ð Ø�?Š?ÑÔ€DØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ØŒ7�SŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r   c                  ó¼  — t          j        ddddd¬¦  «        \  } }|j        D ]5}|                     t          j                             dd¦  «        ¦  «        }Œ6|                      ||¬¦  «         |                      ¦   «          |d          	                    ¦   «         }t          j
                             |j        d	d
¬¦  «         |d          	                    ¦   «         }t          j
                             |j        dd
¬¦  «         t          j        dddddd¬¦  «        \  } }|j        D ]5}|                     t          j                             dd¦  «        ¦  «        }Œ6|                      ||¬¦  «         |                      ¦   «          |d          	                    ¦   «         }t          j
                             |j        dd
¬¦  «         t          j
                             |j        dd
¬¦  «         |d          	                    ¦   «         }t          j
                             |j        dd
¬¦  «         t          j
                             |j        dd
¬¦  «         d S )Nr
   r	   Ú
compressedTr�   r'  r(  rÏ   gâX·Ñ Î?gü©ñÒMbP?)r:  r…   g™»–�zæ?)r"   r†   )r9   rŽ   r�   r„   gGrùé·¯?gá“©‚Që?)r   r	   gk+ö—Ý“ë?goð…ÉTÁÈ?)r;   rB   rC   r  r*   r*  ÚrandnrK   rm   rn   rç   rè   r  rV  rp   ro   )r?   rE   r   r  rI  s        r   Útest_compressed1r\  v  s  € ÝŒ|˜A˜q¨Ø#'°ð6ñ 6ô 6�H€CˆàŒhð 0ð 0ˆØ�YŠY•r”y—’ r¨2Ñ.Ô.Ñ/Ô/ˆˆà‡L‚L�˜€LÑÔÐØ×ÒÑ Ô Ð à
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ø
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9õ Œ|˜A˜q¨Ø#'°¸fðFñ Fô F�H€CˆàŒhð 0ð 0ˆØ�YŠY•r”y—’ r¨2Ñ.Ô.Ñ/Ô/ˆˆà‡L‚L�˜€LÑÔÐØ×ÒÑ Ô Ð à
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv w°TÐÑ:Ô:Ð:Ý„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ø
ˆdŒ)×
 Ò
 Ñ
"Ô
"€CÝ„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ý„J×Ò˜sœv v°DÐÑ9Ô9Ð9Ð9Ð9r   z
arg, state)TT)FFrU  c                 óf   — t          j        | ¬¦  «        \  }}|                     ¦   «         |u sJ ‚d S )Nrj   )r;   rB   Úget_constrained_layout)ÚargÚstater?   r   s       r   Útest_set_constrained_layoutra  •  s=   € õ Œl¨cÐ2Ñ2Ô2�G€CˆØ×%Ò%Ñ'Ô'¨5Ð0Ð0Ð0Ð0Ð0Ð0r   c                  óš  — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |                      d¦  «         |                      ¦   «         sJ ‚|                      d¦  «         |                      ¦   «         rJ ‚|                      d¦  «         |                      ¦   «         sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTF)r;   rB   r{   r|   rO  rP  r^  r>   s     r   Útest_constrained_togglerc     s  € ÝŒl‰nŒn�G€CˆÝ	ŒÕ/Ñ	0Ô	0ð ,ð ,Ø×"Ò" 4Ñ(Ô(Ð(Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø×"Ò" 5Ñ)Ô)Ð)Ø×-Ò-Ñ/Ô/Ð/Ð/Ð/Ø×"Ò" 4Ñ(Ô(Ð(Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   °BC Ã CÃC)r   F)r   )>Únumpyr*   r{   Ú
matplotlibrÇ   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr;   Úmatplotlib.transformsÚ
transformsÚmtransformsr   r   r   r5   r@   rF   rM   rT   rZ   rh   rw   r€   r‹   r“   r›   r¦   r«   r±   r¿   rÅ   rÈ   rÍ   rÒ   r×   rÚ   râ   rì   rð   r÷   r   r  r  r   r#  r-  r4  ÚBboxr6  r?  rJ  rM  rQ  rS  rX  r\  ÚmarkÚparametrizera  rc  © r   r   ú<module>rp     sS  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ð	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð ÐÐ,Ð-Ñ.Ô.ð"ð "ñ /Ô.ð"ð ÐÐ,Ð-Ñ.Ô.ð&ð &ñ /Ô.ð&ð ÐÐ,Ð-Ñ.Ô.ð
*ð 
*ñ /Ô.ð
*ð ÐÐ,Ð-Ñ.Ô.ð4ð 4ñ /Ô.ð4ð ÐÐ,Ð-°5Ð9Ñ9Ô9ð$ð $ñ :Ô9ð$ð ÐÐ,Ð-°5Ð9Ñ9Ô9ð4ð 4ñ :Ô9ð4ð4?ð ?ð ?ð(%ð %ð %ð  ÐÐ,Ð-Ñ.Ô.ð4ð 4ñ /Ô.ð4ð6 ÐÐ,Ð-Ñ.Ô.ð/ð /ñ /Ô.ð/ð ÐÐ-Ð.Ñ/Ô/ð<ð <ñ 0Ô/ð<ð ÐÐ-Ð.Ñ/Ô/ð!ð !ñ 0Ô/ð!ð& ÐÐ0Ð1Ñ2Ô2ð!ð !ñ 3Ô2ð!ð& ÐÐ-Ð.Ñ/Ô/ðð ñ 0Ô/ðð* ÐÐ-Ð.°EÐ:Ñ:Ô:ð>ð >ñ ;Ô:ð>ð ÐÐ-Ð.Ñ/Ô/ð$ð $ñ 0Ô/ð$ð ÐÐ-Ð.Ñ/Ô/ð&ð &ñ 0Ô/ð&ð ÐÐ-Ð.Ñ/Ô/ð-ð -ñ 0Ô/ð-ð ÐÐ-Ð.Ñ/Ô/ðð ñ 0Ô/ðð Hð Hð Hð	Hð 	Hð 	Hðð ð ð3ð 3ð 3ð3ð 3ð 3ð
-ð 
-ð 
-ð ÐÐ/Ð0Ø"¨'ð3ñ 3ô 3ðDð Dñ3ô 3ðDð*
Fð 
Fð 
FðDð Dð Dð@ ÐÐ3Ð4¸GÐDÑDÔDðð ñ EÔDðð ÐÐ3Ð4¸GÐDÑDÔDð:ð :ñ EÔDð:ð>ð >ð >ð  ÐÐ'Ð(Ø"¨'Ø!.°Ð 8ð:ñ :ô :ðð ñ:ô :ðð
 Ð�?Ð#Ø"¨'Ø!.Ø!1 Ô!1°C¸°8¸cÀ1¸XÐ2FÑ!GÔ!Gð!IðJñ Jô Jðð ñ	Jô Jðð
"ð "ð "ðD#ð #ð #ð.!ð !ð !ð%ð %ð %ð"!ð !ð !ð
ð ð ð$:ð :ð :ð> „×Ò˜ØØØˆ€JØˆd€^�TÐð	(ñ ô ð1ð 1ñô ð1ð
,ð ,ð ,ð ,ð ,r   