§
    ‚Øj0Á  ã                   ó˜  — d dl Z d dlZd dlmZmZmZm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 d dlmZ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   G d	„ d
¦  «        Z! G d„ d¦  «        Z"d„ Z#d„ Z$ edgddd¬¦  «        d„ ¦   «         Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z, G d„ dej-        ¦  «        Z. G d„ d¦  «        Z/ G d „ d!¦  «        Z0d"„ Z1d#„ Z2d$„ Z3d%„ Z4d&„ Z5d'„ Z6d(„ Z7d)„ Z8d*„ Z9d+„ Z:d,„ Z;d-„ Z<d.„ Z=d/„ Z>ej?         @                    d0g d1¢¦  «        d2„ ¦   «         ZAd3„ ZB e¦   «         d4„ ¦   «         ZCd5„ ZDd6„ ZEd7„ ZFd8„ ZGd9„ ZHd:„ ZIdS );é    N)Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equal)Úscale)ÚAffine2DÚBboxÚTransformedBboxÚ_ScaledRotation)ÚPath)Úcount_bboxes_overlapping_bbox)Úimage_comparisonÚcheck_figures_equal)Ú	MagicMockc                   ó–   — e Zd ZddgZddgddgddggZeZd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestAffine2Dç      ð?ç        ç       @ç      @ç      @c                 óö   — t          g d¢g d¢g d¢g¦  «         t          t          j        g d¢g d¢g d¢gt          ¦  «        ¦  «         t          t          j        g d¢g d¢g d¢gt          ¦  «        ¦  «         d S )N©é   é   é   )é   é   é   )é   é   é	   )r   ÚnpÚarrayÚintÚfloat©Úselfs    ú•/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_transforms.pyÚ	test_initzTestAffine2D.test_init   sƒ   € Ý�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3Ð3Ý•”˜9˜9˜9 i i i°°°Ð;½SÑAÔAÑBÔBÐBÝ•”˜9˜9˜9 i i i°°°Ð;½UÑCÔCÑDÔDÐDÐDÐDó    c                 óÞ   — t           j                             d¦  «         t           j                             d¦  «        }t          t	          j        |Ž                      ¦   «         |¦  «         d S )Né!N,r   )r#   ÚrandomÚseedr   r   Úfrom_valuesÚ	to_values©r(   Úvaluess     r)   Útest_valueszTestAffine2D.test_values   sU   € Ý
Œ	�Š�xÑ Ô Ð Ý”×!Ò! !Ñ$Ô$ˆÝ�8Ô/°Ð8×BÒBÑDÔDÀfÑMÔMÐMÐMÐMr+   c                 óª   — t          ¦   «         }|                     ¦   «         }d|d<   t          |                     ¦   «         g d¢g d¢g d¢g¦  «         d S )Né*   ©r   r   )r6   r   r   ©r   r   r   ©r   r   r   )r   Ú
get_matrixr   )r(   ÚtransÚmtxs      r)   Útest_modify_inplacez TestAffine2D.test_modify_inplace"   sZ   € å‘
”
ˆØ×ÒÑ Ô ˆØˆˆD‰	Ý˜5×+Ò+Ñ-Ô-°
°
°
¸I¸I¸IÀyÀyÀyÐ/QÑRÔRÐRÐRÐRr+   c                 óä   — t          t          j                             dd¦  «        dz   ¦  «        }|                     ¦   «          t          |                     ¦   «         g d¢g d¢g d¢g¦  «         d S )Nr   r   )r   r   r   r8   r9   )r   r#   r.   ÚrandÚclearr   r:   )r(   Úas     r)   Ú
test_clearzTestAffine2D.test_clear)   sb   € Ý•R”Y—^’^ A qÑ)Ô)¨AÑ-Ñ.Ô.ˆØ	�Š‰	Œ	ˆ	Ý˜1Ÿ<š<™>œ>¨I¨I¨I°y°y°yÀ)À)À)Ð+LÑMÔMÐMÐMÐMr+   c                 ó  — t          ¦   «                              t          j        dz  ¦  «        }t          ¦   «                              d¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j	        ¦  «        ddg¦  «         t          |                     | j
        ¦  «        ddgddgdd	gg¦  «         t          ¦   «                              t          j        ¦  «        }t          ¦   «                              d
¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j	        ¦  «        ddg¦  «         t          |                     | j
        ¦  «        ddgddgddgg¦  «         t          ¦   «                              dt          j        z  dz  ¦  «        }t          ¦   «                              d¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j	        ¦  «        ddg¦  «         t          |                     | j
        ¦  «        ddgddgddgg¦  «         t          ||z                        ¦   «         |                     ¦   «         ¦  «         t          ||z                        ¦   «         |                     ¦   «         ¦  «         d S )Nr   éZ   éÿÿÿÿr   éþÿÿÿr   éýÿÿÿr   r   é´   éüÿÿÿé  )r   Úrotater#   ÚpiÚ
rotate_degr   r:   r   Ú	transformÚsingle_pointÚmultiple_points©r(   Úr_pi_2Úr90Úr_piÚr180Úr_pi_3_2Úr270s          r)   Útest_rotatezTestAffine2D.test_rotate.   s…  € Ý‘”×"Ò"¥2¤5¨1¡9Ñ-Ô-ˆÝ‰jŒj×#Ò# BÑ'Ô'ˆÝ˜6×,Ò,Ñ.Ô.°·²Ñ0@Ô0@ÑAÔAÐAÝ! #§-¢-°Ô0AÑ"BÔ"BÀRÈÀGÑLÔLÐLÝ! #§-¢-°Ô0DÑ"EÔ"EØ$&¨ 7¨R°¨G°a¸°VÐ"<ñ	>ô 	>ð 	>õ ‰zŒz× Ò ¥¤Ñ'Ô'ˆÝ‰zŒz×$Ò$ SÑ)Ô)ˆÝ˜4Ÿ?š?Ñ,Ô,¨d¯oªoÑ.?Ô.?Ñ@Ô@Ð@Ý! $§.¢.°Ô1BÑ"CÔ"CÀbÈ"ÀXÑNÔNÐNÝ! $§.¢.°Ô1EÑ"FÔ"FØ$% r 7¨R°¨H°r¸1°gÐ">ñ	@ô 	@ð 	@õ ‘:”:×$Ò$ Q­¬¡Y°¡]Ñ3Ô3ˆÝ‰zŒz×$Ò$ SÑ)Ô)ˆÝ˜8×.Ò.Ñ0Ô0°$·/²/Ñ2CÔ2CÑDÔDÐDÝ! $§.¢.°Ô1BÑ"CÔ"CÀaÈÀWÑMÔMÐMÝ! $§.¢.°Ô1EÑ"FÔ"FØ$% q 6¨A¨r¨7°Q¸°GÐ"<ñ	>ô 	>ð 	>õ 	˜C #™I×1Ò1Ñ3Ô3°T·_²_Ñ5FÔ5FÑGÔGÐGÝ˜C $™J×2Ò2Ñ4Ô4°d·o²oÑ6GÔ6GÑHÔHÐHÐHÐHr+   c                 ó
  —  t          ¦   «         j        g | j        ¢t          j        dz  ‘R Ž } t          ¦   «         j        g | j        ¢d‘R Ž }t          |                     ¦   «         |                     ¦   «         ¦  «         t          | 	                    | j
        ¦  «        ddg¦  «         t          | 	                    | j        ¦  «        ddgddgddgg¦  «          t          ¦   «         j        g | j        ¢t          j        ‘R Ž } t          ¦   «         j        g | j        ¢d‘R Ž }t          |                     ¦   «         |                     ¦   «         ¦  «         t          | 	                    | j
        ¦  «        ddg¦  «         t          | 	                    | j        ¦  «        ddgddgd	dgg¦  «          t          ¦   «         j        g | j        ¢dt          j        z  dz  ‘R Ž } t          ¦   «         j        g | j        ¢d
‘R Ž }t          |                     ¦   «         |                     ¦   «         ¦  «         t          | 	                    | j
        ¦  «        ddg¦  «         t          | 	                    | j        ¦  «        ddgddgdd	gg¦  «         t          ||z                        ¦   «         |                     ¦   «         ¦  «         t          ||z                        ¦   «         |                     ¦   «         ¦  «         d S )Nr   rD   r   r   rE   r   r   rH   rF   rJ   )r   Úrotate_aroundÚpivotr#   rL   Úrotate_deg_aroundr   r:   r   rN   rO   rP   rQ   s          r)   Útest_rotate_aroundzTestAffine2D.test_rotate_aroundG   sÊ  € Ø)•‘”Ô)ÐA¨4¬:ÐAµr´u¸q±yÐAÐAÐAˆØ*�h‰jŒjÔ*Ð;¨D¬JÐ;¸Ð;Ð;Ð;ˆÝ˜6×,Ò,Ñ.Ô.°·²Ñ0@Ô0@ÑAÔAÐAÝ! #§-¢-°Ô0AÑ"BÔ"BÀQÈÀFÑKÔKÐKÝ! #§-¢-°Ô0DÑ"EÔ"EØ$% q 6¨B°¨7°Q¸°FÐ";ñ	=ô 	=ð 	=ð (�x‰zŒzÔ'Ð;¨¬Ð;µR´UÐ;Ð;Ð;ˆØ+�x‰zŒzÔ+Ð=¨T¬ZÐ=¸Ð=Ð=Ð=ˆÝ˜4Ÿ?š?Ñ,Ô,¨d¯oªoÑ.?Ô.?Ñ@Ô@Ð@Ý! $§.¢.°Ô1BÑ"CÔ"CÀaÈÀVÑLÔLÐLÝ! $§.¢.°Ô1EÑ"FÔ"FØ$% q 6¨B°¨8°b¸!°WÐ"=ñ	?ô 	?ð 	?ð ,•8‘:”:Ô+ÐG¨T¬ZÐG¸½R¼U¹ÀQ¹ÐGÐGÐGˆØ+�x‰zŒzÔ+Ð=¨T¬ZÐ=¸Ð=Ð=Ð=ˆÝ˜8×.Ò.Ñ0Ô0°$·/²/Ñ2CÔ2CÑDÔDÐDÝ! $§.¢.°Ô1BÑ"CÔ"CÀaÈÀVÑLÔLÐLÝ! $§.¢.°Ô1EÑ"FÔ"FØ$% q 6¨A¨r¨7°Q¸°GÐ"<ñ	>ô 	>ð 	>õ 	" 3¨¡9×"8Ò"8Ñ":Ô":¸D¿OºOÑ<MÔ<MÑNÔNÐNÝ! 3¨¡:×"9Ò"9Ñ";Ô";¸T¿_º_Ñ=NÔ=NÑOÔOÐOÐOÐOr+   c                 óö  — t          ¦   «                              dd¦  «        }t          ¦   «                              dd¦  «        }t          ¦   «                              dd¦  «        }t          ||z                        ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgddgg¦  «         d S )	Nr   r   rF   r   rI   r"   éúÿÿÿé   )r   r   r   r:   rN   rO   rP   )r(   ÚsxÚsyr;   s       r)   Ú
test_scalezTestAffine2D.test_scale`   sß   € Ý‰ZŒZ×Ò˜a Ñ#Ô#ˆÝ‰ZŒZ×Ò˜a Ñ$Ô$ˆÝ‘
”
× Ò   BÑ'Ô'ˆÝ˜B ™G×/Ò/Ñ1Ô1°5×3CÒ3CÑ3EÔ3EÑFÔFÐFÝ˜5Ÿ?š?¨4Ô+<Ñ=Ô=ÀÀ2¸wÑGÔGÐGÝ˜5Ÿ?š?¨4Ô+?Ñ@Ô@Ø ˜G a¨ W¨r°1¨gÐ6ñ	8ô 	8ð 	8ð 	8ð 	8r+   c                 ó$  — t          ¦   «                              t          j        dz  t          j        dz  ¦  «        }t          ¦   «                              dd¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          ¦   «                              dd¦  «        }t          |                     | j	        ¦  «        ddg¦  «         t          |                     | j
        ¦  «        d	d
gddgdd	gg¦  «         d S )Nr!   r`   g     €6@é   çÈ�2§�:@ç™b‚Ž,@ç      ø?ç      ô?r   r   ç      @g      @r   )r   Úskewr#   rL   Úskew_degr   r:   r   rN   rO   rP   )r(   Ú	trans_radÚ	trans_degr;   s       r)   Ú	test_skewzTestAffine2D.test_skewi   sê   € Ý‘J”J—O’O¥B¤E¨A¡I­r¬u°r©zÑ:Ô:ˆ	Ý‘J”J×'Ò'¨¨bÑ1Ô1ˆ	Ý˜9×/Ò/Ñ1Ô1°9×3GÒ3GÑ3IÔ3IÑJÔJÐJå‘
”
×#Ò# J°
Ñ;Ô;ˆÝ! %§/¢/°$Ô2CÑ"DÔ"DÀsÈDÀkÑRÔRÐRÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨C°¨;¸¸A¸Ð"?ñ	Aô 	Að 	Að 	Að 	Ar+   c                 óö  — t          ¦   «                              dd¦  «        }t          ¦   «                              dd¦  «        }t          ¦   «                              dd¦  «        }t          ||z                        ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgd	dgg¦  «         d S )
Né   r   r6   é   é+   é,   é   é-   é   )r   Ú	translater   r:   rN   rO   rP   )r(   ÚtxÚtyr;   s       r)   Útest_translatezTestAffine2D.test_translates   sß   € Ý‰ZŒZ×!Ò! " aÑ(Ô(ˆÝ‰ZŒZ×!Ò! ! RÑ(Ô(ˆÝ‘
”
×$Ò$ R¨Ñ,Ô,ˆÝ˜B ™G×/Ò/Ñ1Ô1°5×3CÒ3CÑ3EÔ3EÑFÔFÐFÝ˜5Ÿ?š?¨4Ô+<Ñ=Ô=ÀÀB¸xÑHÔHÐHÝ˜5Ÿ?š?¨4Ô+?Ñ@Ô@Ø ˜H r¨2 h°°R°Ð9ñ	;ô 	;ð 	;ð 	;ð 	;r+   c                 ó>  —  t          ¦   «                              d¦  «        j        g | j        ¢d‘R Ž }t          ¦   «                              d¦  «         t          ¦   «         j        g | j        ¢d‘R Ž z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        ddgddgdd	gg¦  «         t          ¦   «                              d¦  «         
                    dd	¦  «        }t          ¦   «                              d¦  «        t          ¦   «          
                    dd	¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        d
d	g¦  «         t          |                     | j	        ¦  «        ddgddgddgg¦  «         t          ¦   «                              d¦  «                             dd¦  «        }t          ¦   «                              d¦  «        t          ¦   «                              dd¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        d	dgddgddgg¦  «         t          ¦   «                              d¦  «                             dd¦  «        }t          ¦   «                              d¦  «        t          ¦   «                              dd¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        ddgddgddgg¦  «         d S )NrD   rH   r   r   r   r   r   rE   rF   rG   r_   r   i÷ÿÿÿéøÿÿÿrf   rg   g      à¿ç      è?g      ø¿g      @rq   r6   é   rs   é   é   rv   é.   )r   rM   r\   r[   r   r:   r   rN   rO   rP   r   rl   rx   ©r(   r;   Útrans_addeds      r)   Útest_rotate_plus_otherz#TestAffine2D.test_rotate_plus_other|   s§  € Ø;•‘
”
×%Ò% bÑ)Ô)Ô;ÐM¸T¼ZÐMÈÐMÐMÐMˆÝ‘z”z×,Ò,¨RÑ0Ô0Ø3•x‘z”zÔ3ÐE°T´ZÐEÀÐEÐEÐEñFˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀqÈ!ÀfÑMÔMÐMÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨A¨r¨7°Q¸°GÐ"<ñ	>ô 	>ð 	>õ ‘
”
×%Ò% bÑ)Ô)×/Ò/°°2Ñ6Ô6ˆÝ‘j”j×+Ò+¨BÑ/Ô/µ(±*´*×2BÒ2BÀ1ÀbÑ2IÔ2IÑIˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀrÈ2ÀhÑOÔOÐOÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 8¨b°"¨X¸¸2°wÐ"?ñ	Aô 	Að 	Aõ ‘”×&Ò& rÑ*Ô*ß’(˜: zÑ2Ô2ð 	å‘z”z×,Ò,¨RÑ0Ô0Ý‘z”z×*Ò*¨:°zÑBÔBñCˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀtÈTÀlÑSÔSÐSÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ :°°d¨|¸aÀ¸VÐ"Dñ	Fô 	Fð 	Fõ ‘
”
×%Ò% bÑ)Ô)×3Ò3°B¸Ñ;Ô;ˆÝ‘j”j×+Ò+¨BÑ/Ô/µ(±*´*×2FÒ2FÀrÈ2Ñ2NÔ2NÑNˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀrÈ2ÀhÑOÔOÐOÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 8¨b°"¨X¸¸B°xÐ"@ñ	Bô 	Bð 	Bð 	Bð 	Br+   c                 ó2  —  t          ¦   «         j        g | j        ¢d‘R Ž                      d¦  «        } t          ¦   «         j        g | j        ¢d‘R Ž t          ¦   «                              d¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        ddgddgddgg¦  «          t          ¦   «         j        g | j        ¢d‘R Ž  
                    d	d¦  «        } t          ¦   «         j        g | j        ¢d‘R Ž t          ¦   «          
                    d	d¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        d	dg¦  «         t          |                     | j	        ¦  «        ddgdd
gddgg¦  «          t          ¦   «         j        g | j        ¢d‘R Ž                      dd¦  «        } t          ¦   «         j        g | j        ¢d‘R Ž t          ¦   «                              dd¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        ddgddgddgg¦  «          t          ¦   «         j        g | j        ¢d‘R Ž                      dd¦  «        } t          ¦   «         j        g | j        ¢d‘R Ž t          ¦   «                              dd¦  «        z   }t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j	        ¦  «        ddgddgddgg¦  «         d S )NrD   rH   rE   r   r   rG   rF   rI   r   r_   r   r}   rf   rg   rh   ri   ç      à?g      @r   rj   rq   r6   rr   rs   r   rv   é   r‚   )r   r\   r[   rM   r   r:   r   rN   rO   rP   r   rl   rx   rƒ   s      r)   Útest_rotate_around_plus_otherz*TestAffine2D.test_rotate_around_plus_otherœ   sñ  € Ø,•‘
”
Ô,Ð=¨d¬jÐ=¸"Ð=Ð=Ð=×HÒHÈÑMÔMˆØ3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDÝ‘z”z×,Ò,¨SÑ1Ô1ñ2ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀrÈ2ÀhÑOÔOÐOÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨A¨r¨7°R¸°HÐ"=ñ	?ô 	?ð 	?ð -•‘
”
Ô,Ð=¨d¬jÐ=¸"Ð=Ð=Ð=×CÒCÀAÀrÑJÔJˆØ3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDÝ‘z”z×'Ò'¨¨2Ñ.Ô.ñ/ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀqÈ"ÀgÑNÔNÐNÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨B°¨8°a¸°WÐ"=ñ	?ô 	?ð 	?ð .•‘”Ô-Ð>¨t¬zÐ>¸2Ð>Ð>Ð>ß’(˜: zÑ2Ô2ð 	à3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDÝ‘z”z×*Ò*¨:°zÑBÔBñCˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀsÈDÀkÑRÔRÐRÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨C°¨;¸¸C¸Ð"Añ	Cô 	Cð 	Cð -•‘
”
Ô,Ð=¨d¬jÐ=¸"Ð=Ð=Ð=×GÒGÈÈBÑOÔOˆØ3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDÝ‘z”z×+Ò+¨B°Ñ3Ô3ñ4ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀrÈ2ÀhÑOÔOÐOÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 8¨b°"¨X¸¸B°xÐ"@ñ	Bô 	Bð 	Bð 	Bð 	Br+   c                 óJ  — t          ¦   «                              dd¦  «                             d¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              d¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgdd	gg¦  «          t          ¦   «                              dd¦  «        j	        g | j
        ¢d‘R Ž }t          ¦   «                              dd¦  «         t          ¦   «         j	        g | j
        ¢d‘R Ž z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgd
dgdd	gg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgd	dgg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgddgg¦  «         d S )Nr   rF   rD   r   r   r   r   r"   r`   r!   rf   rg   ç      ô¿rI   ç      Àrq   r6   ru   é(   é&   é    é$   é#   )r   r   rM   r   r:   rN   rO   r   rP   r\   r[   rl   rx   rƒ   s      r)   Útest_scale_plus_otherz"TestAffine2D.test_scale_plus_other¾   s«  € Ý‘
”
× Ò   BÑ'Ô'×2Ò2°2Ñ6Ô6ˆÝ‘j”j×&Ò& q¨"Ñ-Ô-µ±
´
×0EÒ0EÀbÑ0IÔ0IÑIˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ˜5Ÿ?š?¨4Ô+<Ñ=Ô=ÀÀ1¸vÑFÔFÐFÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨A¨q¨6°A°r°7Ð";ñ	=ô 	=ð 	=ð :•‘
”
× Ò   BÑ'Ô'Ô9ÐJ¸4¼:ÐJÀrÐJÐJÐJˆÝ‘z”z×'Ò'¨¨2Ñ.Ô.Ø3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDñEˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ˜5Ÿ?š?¨4Ô+<Ñ=Ô=ÀÀ1¸vÑFÔFÐFÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨A¨q¨6°A°r°7Ð";ñ	=ô 	=ð 	=õ ‘”×!Ò! ! RÑ(Ô(ß’(˜: zÑ2Ô2ð 	å‘z”z×'Ò'¨¨2Ñ.Ô.Ý‘z”z×*Ò*¨:°zÑBÔBñCˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀqÈ%ÀjÑQÔQÐQÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 8¨a°¨Z¸"¸a¸Ð"Añ	Cô 	Cð 	Cõ ‘
”
× Ò   BÑ'Ô'×1Ò1°"°bÑ9Ô9ˆÝ‘j”j×&Ò& q¨"Ñ-Ô-µ±
´
×0DÒ0DÀRÈÑ0LÔ0LÑLˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ˜5Ÿ?š?¨4Ô+<Ñ=Ô=ÀÀB¸xÑHÔHÐHÝ˜5Ÿ?š?¨4Ô+?Ñ@Ô@Ø ˜H r¨2 h°°R°Ð9ñ	;ô 	;ð 	;ð 	;ð 	;r+   c                 óJ  — t          ¦   «                              dd¦  «                             d¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              d¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgdd	gd
dgg¦  «          t          ¦   «                              dd¦  «        j	        g | j
        ¢d‘R Ž }t          ¦   «                              dd¦  «         t          ¦   «         j	        g | j
        ¢d‘R Ž z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgdd	gddgg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        d	dg¦  «         t          |                     | j        ¦  «        ddgddgddgg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgddgg¦  «         d S )Nrf   rg   rD   r‹   rh   rF   r   rŒ   rj   rE   r   r~   r   g      ü¿r   g      ÀrI   g      +@g      Àr`   rq   r6   g     €8@g      E@rr   rt   g     €;@g     àF@rw   rs   )r   rl   rM   r   r:   r   rN   rO   rP   r\   r[   r   rx   rƒ   s      r)   Útest_skew_plus_otherz!TestAffine2D.test_skew_plus_otherÞ   sÅ  € å‘
”
×#Ò# J°
Ñ;Ô;×FÒFÀrÑJÔJˆÝ‘z”z×*Ò*¨:°zÑBÔBÝ‘z”z×,Ò,¨RÑ0Ô0ñ1ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀuÈcÀlÑSÔSÐSÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 7¨U°C¨L¸2¸q¸'Ð"Bñ	Dô 	Dð 	Dð$•‘”×$Ò$ Z°Ñ<Ô<Ü#ð5Ø%)¤Zð5Ø13ð5ð 5ð 5ˆå‘z”z×*Ò*¨:°zÑBÔBØ3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDñEˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀtÈSÀkÑRÔRÐRÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% q 6¨E°3¨<¸!¸Q¸Ð"@ñ	Bô 	Bð 	Bõ ‘
”
×#Ò# J°
Ñ;Ô;×AÒAÀ!ÀRÑHÔHˆÝ‘z”z×*Ò*¨:°zÑBÔBÝ‘z”z×'Ò'¨¨2Ñ.Ô.ñ/ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀsÈDÀkÑRÔRÐRÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$% r 7¨T°4¨L¸2¸r¸(Ð"Cñ	Eô 	Eð 	Eõ ‘
”
×#Ò# J°
Ñ;Ô;×EÒEÀbÈ"ÑMÔMˆÝ‘z”z×*Ò*¨:°zÑBÔBÝ‘z”z×+Ò+¨B°Ñ3Ô3ñ4ˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀtÈUÀmÑTÔTÐTÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 8¨d°E¨]¸RÀ¸HÐ"Eñ	Gô 	Gð 	Gð 	Gð 	Gr+   c                 óJ  — t          ¦   «                              dd¦  «                             d¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              d¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgd	d
gg¦  «          t          ¦   «                              dd¦  «        j	        g | j
        ¢d‘R Ž }t          ¦   «                              dd¦  «         t          ¦   «         j	        g | j
        ¢d‘R Ž z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        d	dgddgdd
gg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgddgg¦  «         t          ¦   «                              dd¦  «                             dd¦  «        }t          ¦   «                              dd¦  «        t          ¦   «                              dd¦  «        z   }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     | j        ¦  «        ddg¦  «         t          |                     | j        ¦  «        ddgddgdd gg¦  «         d S )!Nrq   r6   rD   iÕÿÿÿrr   iÔÿÿÿiÓÿÿÿru   iÖÿÿÿrw   i×ÿÿÿiØÿÿÿr   rF   éH   iªÿÿÿéE   i¨ÿÿÿéN   i¦ÿÿÿéQ   i¬ÿÿÿrf   rg   g     ÀF@é1   rv   g     àH@g     @H@g     ÀI@é0   g     `H@)r   rx   rM   r   r:   r   rN   rO   rP   r\   r[   r   rl   rƒ   s      r)   Útest_translate_plus_otherz&TestAffine2D.test_translate_plus_other  s¶  € Ý‘
”
×$Ò$ R¨Ñ,Ô,×7Ò7¸Ñ;Ô;ˆÝ‘j”j×*Ò*¨2¨rÑ2Ô2µX±Z´Z×5JÒ5JÈ2Ñ5NÔ5NÑNˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀsÈBÀiÑPÔPÐPÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$'¨ 9¨s°B¨i¸#¸r¸Ð"Cñ	Eô 	Eð 	Eð ?•‘
”
×$Ò$ R¨Ñ,Ô,Ô>ÐOÀÄ
ÐOÈBÐOÐOÐOˆÝ‘z”z×+Ò+¨B°Ñ3Ô3Ø3•x‘z”zÔ3ÐD°T´ZÐDÀÐDÐDÐDñEˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀsÈBÀiÑPÔPÐPÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$'¨ 9¨s°B¨i¸#¸r¸Ð"Cñ	Eô 	Eð 	Eõ ‘
”
×$Ò$ R¨Ñ,Ô,×2Ò2°1°bÑ9Ô9ˆÝ‘j”j×*Ò*¨2¨rÑ2Ô2µX±Z´Z×5EÒ5EÀaÈÑ5LÔ5LÑLˆÝ˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀrÈ3ÀiÑPÔPÐPÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ 9¨r°3¨i¸"¸c¸Ð"Cñ	Eô 	Eð 	Eõ ‘”×%Ò% b¨"Ñ-Ô-ß’(˜: zÑ2Ô2ð 	å‘z”z×+Ò+¨B°Ñ3Ô3Ý‘z”z×*Ò*¨:°zÑBÔBñCˆå˜5×+Ò+Ñ-Ô-¨{×/EÒ/EÑ/GÔ/GÑHÔHÐHÝ! %§/¢/°$Ô2CÑ"DÔ"DÀtÈRÀjÑQÔQÐQÝ! %§/¢/°$Ô2FÑ"GÔ"GØ$&¨ ;°°t°¸rÀ5¸kÐ"Jñ	Lô 	Lð 	Lð 	Lð 	Lr+   c                 óˆ  — t          j        ¦   «         }t          j        t          ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dggg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     g ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     dgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     g d¢g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   )Úmtransformsr   ÚpytestÚraisesÚ
ValueErrorrN   ÚRuntimeError)r(   Úts     r)   Útest_invalid_transformz#TestAffine2D.test_invalid_transform!  s÷  € ÝÔ Ñ"Ô"ˆõ Œ]�:Ñ&Ô&ð 	ð 	Ø�KŠK˜‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ñ&Ô&ð 	!ð 	!Ø�KŠK˜1˜#˜˜Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�<Ñ(Ô(ð 	ð 	Ø�KŠK˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�<Ñ(Ô(ð 	ð 	Ø�KŠK˜˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ñ&Ô&ð 	ð 	Ø�KŠK˜!˜˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ñ&Ô&ð 	%ð 	%Ø�KŠK˜˜˜˜Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%sk   ­AÁAÁAÁ3BÂBÂBÂ<CÃC"Ã%C"ÄD%Ä%D)Ä,D)Å	E-Å-E1Å4E1ÆF7Æ7F;Æ>F;c                 óŠ  — t          j        ¦   «         }t          j        ¦   «         }||z   }|                     ¦   «          t          j        |¦  «        }|j        s|j        rJ ‚|                     dd¦  «         |j        r|j        sJ ‚|                     ¦   «         |                     ¦   «         k                         ¦   «         sJ ‚|                     ¦   «          t          j        |¦  «        }|                     dd¦  «         |j        rJ ‚t          |                     ¦   «         |                     ¦   «         ¦  «         d S ©Nr   r   r   r   )rž   r   r:   ÚcopyÚ_invalidrx   Úallr   ©r(   rA   ÚbÚsÚs1Úb1s         r)   Ú	test_copyzTestAffine2D.test_copy5  s  € ÝÔ Ñ"Ô"ˆÝÔ Ñ"Ô"ˆØ�‰Eˆà	�Š‰ŒˆÝŒY�q‰\Œ\ˆØ”:Ð1 b¤kÐ1Ð1Ð1Ø	�Š�A�qÑÔÐØŒzÐ)˜bœkÐ)Ð)Ð)Ø—’‘” 1§<¢<¡>¤>Ò1×6Ò6Ñ8Ô8Ð8Ð8Ð8à	�Š‰ŒˆÝŒY�q‰\Œ\ˆØ
�Š�Q˜ÑÔÐØ”:ÐÐˆ~Ý˜1Ÿ<š<™>œ>¨1¯<ª<©>¬>Ñ:Ô:Ð:Ð:Ð:r+   c                 ó˜  — t          j        ¦   «         }t          j        ¦   «         }||z   }|                     ¦   «          t          j        |¦  «        }|j        s|j        rJ ‚|                     dd¦  «         |j        r|j        rJ ‚t          |                     ¦   «         t          j        ¦   «                              ¦   «         ¦  «         |                     ¦   «          t          j        |¦  «        }|                     dd¦  «         |j        rJ ‚t          |                     ¦   «         |                     ¦   «         ¦  «         d S r¦   )rž   r   r:   r§   Údeepcopyr¨   rx   r   rª   s         r)   Útest_deepcopyzTestAffine2D.test_deepcopyG  s  € ÝÔ Ñ"Ô"ˆÝÔ Ñ"Ô"ˆØ�‰Eˆà	�Š‰ŒˆÝŒ]˜1ÑÔˆØ”:Ð1 b¤kÐ1Ð1Ð1Ø	�Š�A�qÑÔÐØŒzÐ- "¤+Ð-Ð-Ð-Ý˜2Ÿ=š=™?œ?­KÔ,@Ñ,BÔ,B×,MÒ,MÑ,OÔ,OÑPÔPÐPà	�Š‰ŒˆÝŒ]˜1ÑÔˆØ
�Š�Q˜ÑÔÐØ”:ÐÐˆ~Ý˜1Ÿ<š<™>œ>¨1¯<ª<©>¬>Ñ:Ô:Ð:Ð:Ð:r+   N)Ú__name__Ú
__module__Ú__qualname__rO   rP   r[   r*   r4   r=   rB   rX   r]   rc   ro   r{   r…   r‰   r’   r”   rœ   r¤   r¯   r²   © r+   r)   r   r      s_  € € € € € Ø˜�:€LØ˜S�z C¨ :°°S¨zÐ:€OØ€EðEð Eð Eð
Nð Nð Nð
Sð Sð SðNð Nð Nð
Ið Ið Ið2Pð Pð Pð28ð 8ð 8ðAð Að Að;ð ;ð ;ðBð Bð Bð@ Bð  Bð  BðD;ð ;ð ;ð@!Gð !Gð !GðFLð Lð Lð@%ð %ð %ð(;ð ;ð ;ð$;ð ;ð ;ð ;ð ;r+   r   c                   ó   — e Zd Zd„ ZdS )ÚTestAffineDeltaTransformc                 ó  — t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          j                             dddddd	¦  «        }t          j        |¦  «        }t          |                     ¦   «         |¦  «         d	|                     ¦   «         d
dd …f<   t          |                     ¦   «         |¦  «         |                     ¦   «          t          |                     ¦   «         |¦  «         d S )N)r   r   r   )g      @r   r   )r   r   r   )r   r   r   r   r   r   r   r   r   )	r#   r$   rž   r   r0   ÚAffineDeltaTransformr   r:   Ú
invalidate)r(   ÚbeforeÚafterÚbaser£   s        r)   Útest_invalidatez(TestAffineDeltaTransform.test_invalidate[  s  € Ý”˜?˜?˜?Ø*˜?˜?Ø*˜?˜?ð,ñ -ô -ˆõ ”˜/˜/˜/Ø)˜/˜/Ø)˜/˜/ð+ñ ,ô ,ˆõ
 Ô#×/Ò/°°1°a¸¸A¸qÑAÔAˆÝÔ,¨TÑ2Ô2ˆÝ˜1Ÿ<š<™>œ>¨6Ñ2Ô2Ð2ð
 $%ˆ�ŠÑÔ˜!˜Q˜R˜R˜%Ñ Ý˜1Ÿ<š<™>œ>¨5Ñ1Ô1Ð1ð 	�ŠÑÔÐÝ˜1Ÿ<š<™>œ>¨5Ñ1Ô1Ð1Ð1Ð1r+   N)r³   r´   rµ   r¿   r¶   r+   r)   r¸   r¸   Z  s#   € € € € € ð2ð 2ð 2ð 2ð 2r+   r¸   c                  ó\  —  G d„ dt           j        ¦  «        }  | ¦   «         }t          j        ¦   «         }t          j        t          j        d¦  «        ||j        z   ¬¦  «         t          j        ¦   «          d|_	        |j
                             ¦   «          t          j        ¦   «          d S )Nc                   óB   ‡ — e Zd ZdZdxZZdZˆ fd„Zd„ ZeZ	d„ Z
e
Zˆ xZS )ú<test_non_affine_caching.<locals>.AssertingNonAffineTransformz�
        This transform raises an assertion error when called when it
        shouldn't be and ``self.raise_on_transform`` is True.

        r   Fc                 ó    •—  t          ¦   «         j        |i |¤Ž d| _        t          j        ¦   «                              dd¦  «        | _        d S )NFé
   )ÚsuperÚ__init__Úraise_on_transformrž   r   r   Úunderlying_transform)r(   ÚargsÚkwargsÚ	__class__s      €r)   rÆ   zEtest_non_affine_caching.<locals>.AssertingNonAffineTransform.__init__}  sN   ø€ Ø�E‰GŒGÔ˜dÐ- fÐ-Ð-Ð-Ø&+ˆDÔ#Ý(3Ô(<Ñ(>Ô(>×(DÒ(DÀRÈÑ(LÔ(LˆDÔ%Ð%Ð%r+   c                 óX   — | j         r
J d¦   «         ‚| j                             |¦  «        S ©Nz3Invalidated affine part of transform unnecessarily.)rÇ   rÈ   Útransform_path©r(   Úpaths     r)   Útransform_path_non_affinezVtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_path_non_affine‚  s=   € ØÔ.ð Fð FØEñFô FÐ.àÔ,×;Ò;¸DÑAÔAÐAr+   c                 óX   — | j         r
J d¦   «         ‚| j                             |¦  «        S rÍ   )rÇ   rÈ   rN   rÏ   s     r)   Útransform_non_affinezQtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_non_affineˆ  s=   € ØÔ.ð Fð FØEñFô FÐ.àÔ,×6Ò6°tÑ<Ô<Ð<r+   )r³   r´   rµ   Ú__doc__Ú
input_dimsÚoutput_dimsÚ	is_affinerÆ   rÑ   rÎ   rÓ   rN   Ú__classcell__©rË   s   @r)   ÚAssertingNonAffineTransformrÂ   t  s{   ø€ € € € € ð	ð 	ð
 $%Ð$ˆ
�[Øˆ	ð	Mð 	Mð 	Mð 	Mð 	Mð
	Bð 	Bð 	Bð 3ˆð	=ð 	=ð 	=ð )ˆ	ˆ	ˆ	ˆ	ˆ	r+   rÚ   rÄ   ©rN   T)rž   Ú	TransformÚpltÚaxesÚplotr#   ÚarangeÚ	transDataÚdrawrÇ   Ú	transAxesr»   )rÚ   Úmy_transÚaxs      r)   Útest_non_affine_cachingræ   s  s¦   € ð)ð )ð )ð )ð )¥kÔ&;ñ )ô )ð )ð4 +Ð*Ñ,Ô,€HÝ	Œ‰Œ€BÝ„H�RŒY�r‰]Œ] h°´Ñ&=Ð>Ñ>Ô>Ð>Ý„H�J„J€Jð #'€HÔØ„L×ÒÑÔÐÝ„H�J„J€J€J€Jr+   c                  óâ  —  G d„ d¦  «        } t          j        ¦   «         }t          j        t          j        d¦  «         | d¦  «        ¬¦  «        \  }|                     dd¦  «         |                     dd¦  «         t          |                     ¦   «         j	         
                    ¦   «         t          j        ¦   «                              d¦  «         
                    ¦   «         ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú-test_external_transform_api.<locals>.ScaledByc                 ó   — || _         d S ©N)Ú_scale_factor)r(   Úscale_factors     r)   rÆ   z6test_external_transform_api.<locals>.ScaledBy.__init__›  s   € Ø!-ˆDÔÐÐr+   c                 óh   — t          j        ¦   «                              | j        ¦  «        |j        z   S rë   )rž   r   r   rì   rá   )r(   rÞ   s     r)   Ú_as_mpl_transformz?test_external_transform_api.<locals>.ScaledBy._as_mpl_transformž  s.   € ÝÔ(Ñ*Ô*×0Ò0°Ô1CÑDÔDØ”nñ%ð &r+   N)r³   r´   rµ   rÆ   rï   r¶   r+   r)   ÚScaledByré   š  s2   € € € € € ð	.ð 	.ð 	.ð	&ð 	&ð 	&ð 	&ð 	&r+   rð   rÄ   rÛ   r   éd   )rÝ   rÞ   rß   r#   rà   Úset_xlimÚset_ylimr   Úget_transformÚ_ar:   rž   r   r   )rð   rå   Úlines      r)   Útest_external_transform_apir÷   ™  sé   € ð&ð &ð &ð &ð &ñ &ô &ð &õ 
Œ‰Œ€BÝŒH•R”Y˜r‘]”]¨h¨h°r©l¬lÐ;Ñ;Ô;�E€DØ‡K‚K��3ÑÔÐØ‡K‚K��3ÑÔÐå�D×&Ò&Ñ(Ô(Ô+×6Ò6Ñ8Ô8ÝÔ(Ñ*Ô*×0Ò0°Ñ4Ô4×?Ò?ÑAÔAñCô Cð Cð Cð Cr+   Úpre_transform_dataTÚmpl20gš™™™™™©?)Úremove_textÚstyleÚtolc                  ó<  — t          j        ¦   «         } t          j        ¦   «                              d¦  «        }|                      t          j        d¦  «                             dd¦  «        || j	        z   ¬¦  «         |  
                    t          j        ddd¦  «        t          j        d	dd
¦  «        t          j        d¦  «                             dd¦  «        || j	        z   ¬¦  «         |                      t          j        dd¦  «        t          j        dd¦  «        || j	        z   ¬¦  «         t          j        ddd¦  «        }t          j        ddd¦  «        }dt          j        |¦  «        z  t          j        |d d …t          j        f         ¦  «        z   }t          j        |¦  «        t          j        |d d …t          j        f         ¦  «        z
  }|                      |||||| j	        z   t          j        ||¦  «        ¬¦  «         |d d d…         |d d d…         }}|d d d…d d d…f         |d d d…d d d…f         }}|                      ||dz   |||| j	        z   ¬¦  «         |                      |dz
  |dz   |dz  |dz  || j	        z   ¬¦  «         d S )NrÄ   r›   r   r!   rÛ   r   r   r    g      @r"   r�   r   r   r   )rN   Ú	linewidthr   )rÝ   rÞ   rž   r   r   Úcontourfr#   rà   Úreshaperá   Ú
pcolormeshÚlinspaceÚscatterÚsinÚcosÚnewaxisÚ
streamplotÚhypotÚquiverÚbarbs)rå   Útimes10ÚxÚyÚuÚvs         r)   Útest_pre_transform_plottingr  «  so  € õ 
Œ‰Œ€BÝÔ"Ñ$Ô$×*Ò*¨2Ñ.Ô.€Gà‡K‚K•”	˜"‘”×%Ò% a¨Ñ+Ô+°wÀÄÑ7M€KÑNÔNÐNà‡M‚M•"”+˜a  AÑ&Ô&Ý”+˜c 1 aÑ(Ô(Ý”)˜B‘-”-×'Ò'¨¨1Ñ-Ô-Ø# b¤lÑ2ð ñ 4ô 4ð 4ð
 ‡J‚J�rŒ{˜1˜bÑ!Ô!¥2¤;¨r°1Ñ#5Ô#5Ø  2¤<Ñ/ð ñ 1ô 1ð 1õ 	Œ�A�r˜2ÑÔ€AÝ
Œ�A�q˜"ÑÔ€AØ	�"Œ&�‰)Œ)‰•b”f˜Q˜q˜q˜q¥"¤*˜}Ô-Ñ.Ô.Ñ.€AÝ
Œˆq‰	Œ	•B”F˜1˜Q˜Q˜Q¥¤
˜]Ô+Ñ,Ô,Ñ,€Aà‡M‚M�!�Q˜˜1¨°"´,Ñ(>ÝœH Q¨™NœNð ñ ,ô ,ð ,ð ˆSˆSˆqˆSŒ6�1�S�S�q�S”6€q€AØˆSˆSˆqˆS�#�#�A�#ˆXŒ;˜˜#˜#˜A˜#˜s˜s ˜s˜(œ€q€Aà‡I‚Iˆa��Q‘˜˜1¨°"´,Ñ(>€IÑ?Ô?Ð?à‡H‚HˆQ�‰U�A˜‘E˜1˜a™4  A¡°¸2¼<Ñ1G€HÑHÔHÐHÐHÐHr+   c                  óâ  — t          j        ¦   «         } t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  }}|                      ||t          j        ||z  ¦  «        t          j        ¦   «          	                    d¦  «        | j
        z   ¬¦  «         t          j        ddgd	d
gg¦  «        }t          || j                             ¦   «         ¦  «         d S )Nre   r�   çÍÌÌÌÌÌ(@ç      )@çš™™™™™¹?rÛ   rh   ç×£p=
×ó?r   ri   )rÝ   rÞ   r#   Úmeshgridr  rÿ   Úlogrž   r   r   rá   r$   r   ÚdataLimÚ
get_points©rå   ÚxsÚysÚexpecteds       r)   Ú!test_contour_pre_transform_limitsr  Ð  sØ   € Ý	Œ‰Œ€BÝŒ[�œ R¨¨RÑ0Ô0µ"´+¸dÀDÈ"Ñ2MÔ2MÑNÔN�F€BˆØ‡K‚K��B�œ˜r B™w™œÝ%Ô.Ñ0Ô0×6Ò6°sÑ;Ô;¸b¼lÑJð ñ Lô Lð Lõ Œx˜#˜t˜Ø˜d˜ð%ñ &ô &€Hå˜ "¤*×"7Ò"7Ñ"9Ô"9Ñ:Ô:Ð:Ð:Ð:r+   c                  óú  — t          j        ¦   «         } t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  }}|                      ||t          j        ||z  ¦  «        d d…d d…f         t          j        ¦   «          	                    d¦  «        | j
        z   ¬¦  «         t          j        dd	gd
dgg¦  «        }t          || j                             ¦   «         ¦  «         d S ©Nre   r�   r  r  rE   r  rÛ   rh   r  r   ri   )rÝ   rÞ   r#   r  r  Úpcolorr  rž   r   r   rá   r$   r   r  r  r  s       r)   Ú test_pcolor_pre_transform_limitsr"  Û  sé   € å	Œ‰Œ€BÝŒ[�œ R¨¨RÑ0Ô0µ"´+¸dÀDÈ"Ñ2MÔ2MÑNÔN�F€BˆØ‡I‚Iˆb�"•b”f˜R "™W‘o”o c r c¨3¨B¨3 hÔ/Ý#Ô,Ñ.Ô.×4Ò4°SÑ9Ô9¸B¼LÑHð ñ Jô Jð Jõ Œx˜#˜t˜Ø˜d˜ð%ñ &ô &€Hå˜ "¤*×"7Ò"7Ñ"9Ô"9Ñ:Ô:Ð:Ð:Ð:r+   c                  óú  — t          j        ¦   «         } t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  }}|                      ||t          j        ||z  ¦  «        d d…d d…f         t          j        ¦   «          	                    d¦  «        | j
        z   ¬¦  «         t          j        dd	gd
dgg¦  «        }t          || j                             ¦   «         ¦  «         d S r   )rÝ   rÞ   r#   r  r  r  r  rž   r   r   rá   r$   r   r  r  r  s       r)   Ú$test_pcolormesh_pre_transform_limitsr$  ç  sé   € å	Œ‰Œ€BÝŒ[�œ R¨¨RÑ0Ô0µ"´+¸dÀDÈ"Ñ2MÔ2MÑNÔN�F€BˆØ‡M‚M�"�b�"œ&  b¡™/œ/¨#¨2¨#¨s°¨s¨(Ô3Ý'Ô0Ñ2Ô2×8Ò8¸Ñ=Ô=ÀÄÑLð ñ Nô Nð Nõ Œx˜#˜t˜Ø˜d˜ð%ñ &ô &€Hå˜ "¤*×"7Ò"7Ñ"9Ô"9Ñ:Ô:Ð:Ð:Ð:r+   c                  ó
  — t           j                             d¦  «         t          j        ddd¦  «        } t          j        ddd¦  «        }t          j        | |¦  «        \  }}t          j        t          j        j        |j        Ž dz  ¦  «        }t          j	        ¦   «         }| 
                    dd	¬
¦  «        }|                     dd¦  «         |                     |||d¬¦  «         |j                             ¦   «          d S )Nr-   r   rH   r   rñ   iè  rÄ   éo   Úpolar©Ú
projectionée   Úgouraud)Úshading)r#   r.   r/   r  r  Úradiansr?   ÚshaperÝ   ÚfigureÚadd_subplotÚset_rlimr  Úcanvasrâ   )r3   ÚradiiÚzr  r  Úfigrå   s          r)   Útest_pcolormesh_gouraud_nansr6  ó  sØ   € Ý„I‡N‚N�8ÑÔÐåŒ[˜˜C Ñ#Ô#€FÝŒK˜˜T 2Ñ&Ô&€EÝŒ;�v˜uÑ%Ô%�D€A€qÝ
Œ
•2”9”> 1¤7Ð+¨cÑ1Ñ2Ô2€Aå
Œ*‰,Œ,€CØ	�Š˜¨ˆÑ	1Ô	1€Bð ‡K‚K��TÑÔÐØ‡M‚M�!�Q˜ 9€MÑ-Ô-Ð-à„J‡O‚OÑÔÐÐÐr+   c                  ó  — t          j        ddgddgddgg¦  «        } t          j                             dddddd¦  «        }|                     | ¦  «        }t          j        ddgddgddgg¦  «        }t          ||¦  «         t          j                             dddddd¦  «        }|                     | ¦  «        }t          j        ddgddgddgg¦  «        }t          ||¦  «         t          j                             dddddd¦  «        }|                     | ¦  «        }t          j        ddgd	dgddgg¦  «        }t          ||¦  «         t          j                             dddd
dd¦  «        }|                     | ¦  «        }t          j        ddgddgddgg¦  «        }t          ||¦  «         t          j                             dddddd¦  «        }|                     | ¦  «        }t          j        ddgddgddgg¦  «        }t          ||¦  «         t          j                             dddddd¦  «        }|                     | ¦  «        }t          j        ddgddgddgg¦  «        }t          ||¦  «         d S )Nr   rÄ   r�   rE   r   r   rF   r   é<   r   éP   r   r   )r#   r$   rž   r   r0   rN   r   )Úpointsr£   Úactualr  s       r)   Útest_Affine2D_from_valuesr<    s†  € ÝŒX˜˜1�vØ˜B�xØ˜A�wðñ ô €Fõ
 	Ô×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ " a ¨2¨q¨'Ð2Ñ3Ô3€HÝ˜ Ñ)Ô)Ð)åÔ×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ ! R ¨1¨b¨'Ð2Ñ3Ô3€HÝ˜ Ñ)Ô)Ð)åÔ×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ " a ¨1¨a¨&Ð1Ñ2Ô2€HÝ˜ Ñ)Ô)Ð)åÔ×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ ! R ¨1¨a¨&Ð1Ñ2Ô2€HÝ˜ Ñ)Ô)Ð)åÔ×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ñ1Ô1€HÝ˜ Ñ)Ô)Ð)åÔ×(Ò(¨¨A¨q°!°Q¸Ñ:Ô:€AØ�[Š[˜Ñ Ô €FÝŒx˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ñ1Ô1€HÝ˜ Ñ)Ô)Ð)Ð)Ð)r+   c                  ó¤  — ddg} t          j        ¦   «         }t          | |                     |                     ¦   «                              | ¦  «        ¦  «        ¦  «         |                     dd¦  «                             ¦   «          t          | |                     |                     ¦   «                              | ¦  «        ¦  «        ¦  «         d S )Nr   )rž   r   r   rN   Úinvertedrx   r:   )Úpointr£   s     r)   Ú test_affine_inverted_invalidatedr@  +  s£   € à�#ˆJ€EÝÔÑÔ€Aå˜˜qŸ{š{¨1¯:ª:©<¬<×+AÒ+AÀ%Ñ+HÔ+HÑIÔIÑJÔJÐJà‡K‚K��SÑÔ×$Ò$Ñ&Ô&Ð&Ý˜˜qŸ{š{¨1¯:ª:©<¬<×+AÒ+AÀ%Ñ+HÔ+HÑIÔIÑJÔJÐJÐJÐJr+   c                  ót  — t          j        g d¢¦  «        } t          j        t          j        ¦   «         t          j        dd¦  «        ¦  «        }|                     | ¦  «        }|                     | 	                    ¦   «         dd¬¦  «        }t          |Ž \  }}t          || j        d d…         ¦  «         d S )N))çš™™™™™É?é�ÿÿÿ)çš™™™™™Ù?rC  )rD  r�   )rB  r�   rÄ   Úclip)r   r   rñ   rñ   F)rE  ÚsimplifyrE   )r   Ú_create_closedrž   ÚBlendedGenericTransformr   r   ÚLogTransformrÑ   Úiter_segmentsÚ
get_affineÚzipr   Úcodes)rÐ   r;   ÚtpathÚresultÚtpointsÚtcodess         r)   Útest_clipping_of_logrR  6  s¸   € åÔÐMÐMÐMÑNÔN€DåÔ/ÝÔÑÔ¥Ô 2°2°vÑ >Ô >ñ@ô @€Eà×+Ò+¨DÑ1Ô1€EØ× Ò  ×!1Ò!1Ñ!3Ô!3Ø&6Ø*/ð !ñ 1ô 1€Fõ ˜6�l�O€GˆVÝ�F˜DœJ s¨ sœOÑ,Ô,Ð,Ð,Ð,r+   c                   ó:   ‡ — e Zd ZdZdZdZdZˆ fd„Zd„ Zd„ Z	ˆ xZ
S )ÚNonAffineForTestzÚ
    A class which looks like a non affine transform, but does whatever
    the given transform does (even if it is affine). This is very useful
    for testing NonAffine behaviour with a simple Affine transform.

    Fr   c                 óH   •— || _          t          ¦   «         j        |i |¤Ž d S rë   )Ú
real_transrÅ   rÆ   )r(   rV  rÉ   rÊ   rË   s       €r)   rÆ   zNonAffineForTest.__init__O  s,   ø€ Ø$ˆŒØ�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r+   c                 ó6   — | j                              |¦  «        S rë   )rV  rN   r2   s     r)   rÓ   z%NonAffineForTest.transform_non_affineS  s   € ØŒ×(Ò(¨Ñ0Ô0Ð0r+   c                 ó6   — | j                              |¦  «        S rë   )rV  rÎ   rÏ   s     r)   rÑ   z*NonAffineForTest.transform_path_non_affineV  s   € ØŒ×-Ò-¨dÑ3Ô3Ð3r+   )r³   r´   rµ   rÔ   r×   rÖ   rÕ   rÆ   rÓ   rÑ   rØ   rÙ   s   @r)   rT  rT  D  sq   ø€ € € € € ðð ð €IØ€KØ€Jð*ð *ð *ð *ð *ð1ð 1ð 1ð4ð 4ð 4ð 4ð 4ð 4ð 4r+   rT  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestBasicTransformc                 ó\  — t          j        d¬¦  «                             t          j        dz  ¦  «        | _        t          j        d¬¦  «                             dd¦  «        | _        t          j        d¬¦  «                             dd¦  «        | _	        t          t          j        ¦   «                              dd¦  «        d	¬¦  «        | _        t          t          j        ¦   «                              dd¦  «        d
¬¦  «        | _        t          t          j        ¦   «                              dd¦  «        d¬¦  «        | _        | j        | j        | j        z   z   | j	        z   | _        | j        | j        z   | j        z   | j	        z   | _        | j        | j        z   | j	        z   | _        d S )NÚta1)Úshorthand_namer   Úta2rÄ   r   Úta3r   Útn1Útn2Útn3)rž   r   rK   r#   rL   r\  rx   r^  r   r_  rT  r`  ra  rb  Ústack1Ústack2Ústack2_subsetr'   s    r)   Úsetup_methodzTestBasicTransform.setup_method[  sm  € åÔ'°uÐ=Ñ=Ô=×DÒDÅRÄUÈQÁYÑOÔOˆŒÝÔ'°uÐ=Ñ=Ô=×GÒGÈÈAÑNÔNˆŒÝÔ'°uÐ=Ñ=Ô=×CÒCÀAÀqÑIÔIˆŒå#¥KÔ$8Ñ$:Ô$:×$DÒ$DÀQÈÑ$JÔ$JØ38ð:ñ :ô :ˆŒå#¥KÔ$8Ñ$:Ô$:×$DÒ$DÀQÈÑ$JÔ$JØ38ð:ñ :ô :ˆŒå#¥KÔ$8Ñ$:Ô$:×$DÒ$DÀQÈÑ$JÔ$JØ38ð:ñ :ô :ˆŒð ”x 4¤8¨d¬hÑ#6Ñ7¸4¼8ÑCˆŒà”h ¤Ñ)¨D¬HÑ4°t´xÑ?ˆŒà!œX¨¬Ñ0°4´8Ñ;ˆÔÐÐr+   c                 ór   — | j         j        dk    sJ ‚| j        j        dk    sJ ‚| j        j        dk    sJ ‚d S )Nr   r   )rc  Údepthrd  re  r'   s    r)   Útest_transform_depthz'TestBasicTransform.test_transform_deptht  sK   € ØŒ{Ô  AÒ%Ð%Ð%Ð%ØŒ{Ô  AÒ%Ð%Ð%Ð%ØÔ!Ô'¨1Ò,Ð,Ð,Ð,Ð,Ð,r+   c                 ó¦  — | j         | j        | j        | j        z   z   z   | j        z   }|| j        | j        | j        z   z   | j        z   | j        | j        z   | j        z   | j        | j        z   | j        g}d„ |                     ¦   «         D ¦   «         }t          |¦  «        t          |¦  «        k    sJ ‚t          ||¦  «        D ]\  }}||k    sJ ‚Œd S )Nc                 ó   — g | ]\  }}|‘ŒS r¶   r¶   )Ú.0Ú_Úrhs      r)   ú
<listcomp>zCTestBasicTransform.test_left_to_right_iteration.<locals>.<listcomp>ƒ  s   € ÐEÐEÐE‘E�A�rˆRÐEÐEÐEr+   )r\  r`  r^  ra  r_  Ú_iter_break_from_left_to_rightÚlenrL  )r(   Ústack3Útarget_transformsÚrÚtarget_stackÚstacks         r)   Útest_left_to_right_iterationz/TestBasicTransform.test_left_to_right_iterationy  sï   € Ø”(˜dœh¨$¬(°T´XÑ*=Ñ>Ñ?À4Ä8ÑKˆð $Ø"œh¨$¬(°T´XÑ*=Ñ>À$Ä(ÑJØ"œh¨¬Ñ1°T´XÑ=Ø!œX¨¬Ñ0Ø!œXð	Ðð FÐE˜V×BÒBÑDÔDÐEÑEÔEˆÝ�1‰vŒv�Ð.Ñ/Ô/Ò/Ð/Ð/Ð/å#&Ð'8¸!Ñ#<Ô#<ð 	)ð 	)ÑˆL˜%Ø 5Ò(Ð(Ð(Ð(Ð(ð	)ð 	)r+   c                 óF  — | j         | j        z
  | j        k    sJ ‚| j        | j        z
  | j        k    sJ ‚| j        | j        z
  | j                             ¦   «         k    sJ ‚| j        | j        z
  j        dk    sJ ‚t          j        t          ¦  «        5  | j         | j        z
   d d d ¦  «         n# 1 swxY w Y   | j        | j	        | j
        z   z   }| j	        | j
        z   }||z
  | j        k    sJ ‚|| j	        z
  || j	                             ¦   «         z   k    sJ ‚| j         | j
        z
  | j        | j        | j	        z   z   k    sJ ‚| j        | j
        z
  | j        | j        z   | j	        z   k    sJ ‚| j	        | j
        z   | j
        z
  | j
        z   | j	        | j
        z   k    sJ ‚d S )Nr   )rc  re  r\  rd  r>  rh  rŸ   r    r¡   r^  r_  r`  )r(   Úaff1Úaff2s      r)   Útest_transform_shortcutsz+TestBasicTransform.test_transform_shortcuts‰  sõ  € ØŒ{˜TÔ/Ñ/°4´8Ò;Ð;Ð;Ð;ØŒ{˜TÔ/Ñ/°4´8Ò;Ð;Ð;Ð;àÔ! D¤KÑ/°4´8×3DÒ3DÑ3FÔ3FÒFÐFÐFÐFØÔ" T¤[Ñ0Ô7¸1Ò<Ð<Ð<Ð<åŒ]�:Ñ&Ô&ð 	&ð 	&ØŒK˜$œ+Ñ%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð Œx˜4œ8 d¤hÑ.Ñ/ˆØŒx˜$œ(Ñ"ˆà�d‰{˜dœhÒ&Ð&Ð&Ð&Ø�d”h‰ $¨¬×):Ò):Ñ)<Ô)<Ñ"<Ò<Ð<Ð<Ð<àŒ{˜TœXÑ%¨¬°T´XÀÄÑ5HÑ)IÒIÐIÐIÐIØŒ{˜TœXÑ%¨¬°D´HÑ)<¸t¼xÑ)GÒGÐGÐGÐGà”˜DœHÑ$¨¬Ñ0°4´8Ñ;Ø”˜4œ8Ñ#ò$ð $ð $ð $ð $ð $s   ÂB0Â0B4Â7B4c                 óÞ  — | j         | j        z   }| j         | j        z   }||k    sJ ‚|| j        k    sJ ‚|                     |¦  «        sJ ‚|                     | j        ¦  «        sJ ‚|                     | j         ¦  «        rJ ‚|                     | j         | j         z   ¦  «        rJ ‚||k    sJ ‚| j                             | j        ¦  «        sJ ‚| j                             | j        ¦  «        sJ ‚| j                             | j        ¦  «        sJ ‚| j                             | j        ¦  «        sJ ‚| j                             | j        ¦  «        rJ ‚| j                             | j        ¦  «        rJ ‚| j                             | j         | j        z   ¦  «        sJ ‚| j                             | j         | j        z   ¦  «        sJ ‚| j                             | j        | j         z   ¦  «        rJ ‚t          j	        | j
        | j        ¦  «        }|                     | j        ¦  «        \  }}| j        |z   }|                     | j        ¦  «        \  }}||cxu rdu sn J ‚||cxu rdu sn J ‚d S )NFT)r^  r\  Úcontains_branchrc  r_  rd  re  r`  rž   rH  ra  Úcontains_branch_separatelyrb  )	r(   Úr1Úr2Úblendr  r  Ústack_blendra   rb   s	            r)   Útest_contains_branchz'TestBasicTransform.test_contains_branchŸ  s}  € ØŒh˜œÑ!ˆØŒh˜œÑ!ˆØ�RŠxˆxˆxˆxØ�T”XŠ~ˆ~ˆ~ˆ~Ø×!Ò! "Ñ%Ô%Ð%Ð%Ð%Ø×!Ò! $¤(Ñ+Ô+Ð+Ð+Ð+Ø×%Ò% d¤hÑ/Ô/Ð/Ð/Ð/Ø×%Ò% d¤h°´Ñ&9Ñ:Ô:Ð:Ð:Ð:à�RŠxˆxˆxˆxàŒ{×*Ò*¨4¬8Ñ4Ô4Ð4Ð4Ð4ØŒ{×*Ò*¨4¬8Ñ4Ô4Ð4Ð4Ð4àŒ{×*Ò*¨4Ô+=Ñ>Ô>Ð>Ð>Ð>ØŒ{×*Ò*¨4Ô+=Ñ>Ô>Ð>Ð>Ð>àÔ%×5Ò5°d´kÑBÔBÐBÐBÐBØÔ%×5Ò5°d´kÑBÔBÐBÐBÐBàŒ{×*Ò*¨4¬8°d´hÑ+>Ñ?Ô?Ð?Ð?Ð?ØŒ{×*Ò*¨4¬8°d´hÑ+>Ñ?Ô?Ð?Ð?Ð?à”;×.Ò.¨t¬x¸$¼(Ñ/BÑCÔCÐCÐCÐCåÔ3°D´H¸d¼kÑJÔJˆØ×/Ò/°Ô0BÑCÔC‰ˆˆ1Ø”h Ñ&ˆØ×7Ò7¸Ô8JÑKÔK‰ˆˆBØ�BÐÐÐÐ˜%ÐÐÐÐÐÐØ�Bˆˆˆˆ˜$ˆˆˆˆˆˆˆˆr+   c                 ó  — t          j        ddgddgt           j        dgddggt           j        ¬¦  «        }| j                             |¦  «        }| j                             |¦  «        }t          j        ddgd	d
gt           j        t           j        gddggt           j        ¬¦  «        }t          j        ddgddgt           j        t           j        gddggt           j        ¬¦  «        }t          ||¦  «         t          ||¦  «         t          | j                             |¦  «        |¦  «         t          | j         	                    ¦   «                              |¦  «        |¦  «         | j
        | j        z                        ¦   «         }| j         	                    ¦   «                              ¦   «         }t          ||¦  «         | j         	                    ¦   «                              ¦   «         }t          ||¦  «         d S )Nr   rÄ   r�   r   rE   )Údtyper   r   g      3Àç      (@g      &@r   g      "Àg      8@)r#   r$   ÚnanÚfloat64rc  rÓ   rN   r   Útransform_affinerK  r^  r_  r:   r   rd  )r(   r:  Úna_ptsÚall_ptsÚna_expectedÚall_expectedÚexpected_resultrO  s           r)   Útest_affine_simplificationz-TestBasicTransform.test_affine_simplificationÀ  så  € õ ”˜A˜q˜6 B¨ 8­b¬f°a¨[¸2¸q¸'ÐBÝ "¤
ð,ñ ,ô ,ˆà”×1Ò1°&Ñ9Ô9ˆØ”+×'Ò'¨Ñ/Ô/ˆå”h  R ¨4°¨+Ý!#¤­¬Ð 0°2°r°(ð <ÝCEÄ:ðOñ Oô Oˆå”x # r ¨S°#¨JÝ"$¤&­"¬&Ð!1°C¸°9ð!>å&(¤jð2ñ 2ô 2ˆõ
 	" &¨+Ñ6Ô6Ð6å! '¨<Ñ8Ô8Ð8õ 	" $¤+×">Ò">¸vÑ"FÔ"FØ".ñ	0ô 	0ð 	0õ 	" $¤+×"8Ò"8Ñ":Ô":×"DÒ"DÀVÑ"LÔ"LØ".ñ	0ô 	0ð 	0ð
  œ8 d¤hÑ.×:Ò:Ñ<Ô<ˆØ”×'Ò'Ñ)Ô)×4Ò4Ñ6Ô6ˆÝ˜?¨FÑ3Ô3Ð3à”×'Ò'Ñ)Ô)×4Ò4Ñ6Ô6ˆÝ˜?¨FÑ3Ô3Ð3Ð3Ð3r+   N)	r³   r´   rµ   rf  ri  rw  r{  rƒ  r�  r¶   r+   r)   rZ  rZ  Z  so   € € € € € ð<ð <ð <ð2-ð -ð -ð
)ð )ð )ð %ð %ð %ð,ð ð ðB#4ð #4ð #4ð #4ð #4r+   rZ  c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestTransformPlotInterfacec                 ó@  — t          j        ¦   «         }|                     g d¢g d¢|j        ¬¦  «         t	          |j                             ¦   «         t          j        t          j	        t          j	        gt          j	         t          j	         gg¦  «        ¦  «         d S )N©r  ç333333ó?çš™™™™™é?©çÍÌÌÌÌÌì?r‡   r•  rÛ   )
rÝ   rÞ   rß   rã   r   r  r  r#   r$   Úinf©r(   rå   s     r)   Útest_line_extent_axes_coordsz7TestTransformPlotInterface.test_line_extent_axes_coordsç  sŠ   € åŒX‰ZŒZˆØ
�Š���   ¸B¼LˆÑIÔIÐIÝ˜2œ:×0Ò0Ñ2Ô2Ýœ8¥b¤f­b¬fÐ%5Ý')¤v gµ´¨wÐ%7ð%9ñ :ô :ñ	;ô 	;ð 	;ð 	;ð 	;r+   c                 óì   — t          j        ¦   «         }|                     g d¢g d¢|j        ¬¦  «         t	          |j                             ¦   «         t          j        ddgddgg¦  «        ¦  «         d S )Nr“  r–  rÛ   r  r‡   r”  r—  )	rÝ   rÞ   rß   rá   r   r  r  r#   r$   r™  s     r)   Útest_line_extent_data_coordsz7TestTransformPlotInterface.test_line_extent_data_coordsï  sz   € åŒX‰ZŒZˆØ
�Š���   ¸B¼LˆÑIÔIÐIÝ˜2œ:×0Ò0Ñ2Ô2Ýœ8 c¨C [°3¸°+Ð$>Ñ?Ô?ñ	Aô 	Að 	Að 	Að 	Ar+   c                 óJ  — t          j        ¦   «         }t          j        |j        |j        ¦  «        }|                     g d¢g d¢|¬¦  «         t          |j         	                    ¦   «         t          j        t          j        dgt          j         dgg¦  «        ¦  «         d S )Nr“  ©r‘   éûÿÿÿé   rÛ   g      Àg     €A@)rÝ   rÞ   rž   Úblended_transform_factoryrã   rá   rß   r   r  r  r#   r$   r˜  ©r(   rå   r;   s      r)   Ú!test_line_extent_compound_coords1z<TestTransformPlotInterface.test_line_extent_compound_coords1ö  sŸ   € õ ŒX‰ZŒZˆÝÔ5°b´lØ68´lñDô Dˆà
�Š���   ¸ˆÑ?Ô?Ð?Ý˜2œ:×0Ò0Ñ2Ô2Ýœ8¥b¤f¨c ]Ý')¤v g¨s ^ð%5ñ 6ô 6ñ	7ô 	7ð 	7ð 	7ð 	7r+   c                 ó>  — t          j        ¦   «         }t          j        ¦   «                              d¦  «        |j        z   }|                     g d¢g d¢|¬¦  «         t          |j         	                    ¦   «         t          j        ddgddgg¦  «        ¦  «         d S )	NrÄ   r“  rž  rÛ   r   ç      IÀr†  ç     àu@)rÝ   rÞ   rž   r   r   rá   rß   r   r  r  r#   r$   r¢  s      r)   Ú)test_line_extent_predata_transform_coordszDTestTransformPlotInterface.test_line_extent_predata_transform_coords  s›   € åŒX‰ZŒZˆÝÔ$Ñ&Ô&×,Ò,¨RÑ0Ô0°2´<Ñ?ˆØ
�Š���   ¸ˆÑ?Ô?Ð?Ý˜2œ:×0Ò0Ñ2Ô2Ýœ8 b¨$ Z°#°t°Ð$=Ñ>Ô>ñ	@ô 	@ð 	@ð 	@ð 	@r+   c                 ó˜  — t          j        ¦   «         }t          j        |j        t          j        ¦   «                              d¦  «        |j        z   ¦  «        }|                     g d¢g d¢|¬¦  «         t          |j
                             ¦   «         t          j        t          j        dgt          j         dgg¦  «        ¦  «         d S )NrÄ   r“  rž  rÛ   r¥  r¦  )rÝ   rÞ   rž   r¡  rã   r   r   rá   rß   r   r  r  r#   r$   r˜  r¢  s      r)   Ú!test_line_extent_compound_coords2z<TestTransformPlotInterface.test_line_extent_compound_coords2	  s¹   € õ ŒX‰ZŒZˆÝÔ5ØŒL�+Ô.Ñ0Ô0×6Ò6°rÑ:Ô:¸R¼\ÑIñKô Kˆà
�Š���   ¸ˆÑ?Ô?Ð?Ý˜2œ:×0Ò0Ñ2Ô2Ýœ8¥b¤f¨d ^µr´v°g¸t°_Ð$EÑFÔFñ	Hô 	Hð 	Hð 	Hð 	Hr+   c                 ób  — t          j        ¦   «         }t          j        ¦   «                              dd¦  «        }t          j        t          j        d¦  «        ||j        z   ¬¦  «         t          j	        ddgddgg¦  «        dz   }t          |j                             ¦   «         |¦  «         d S )NrÄ   rÛ   r   ç      "@©rÝ   rÞ   rž   r   rx   rß   r#   rà   rá   r$   r   r  r  ©r(   rå   ÚoffsetÚexpected_data_lims       r)   Útest_line_extents_affinez3TestTransformPlotInterface.test_line_extents_affine  s–   € ÝŒX‰ZŒZˆÝÔ%Ñ'Ô'×1Ò1°"°bÑ9Ô9ˆÝŒ•”˜2‘”¨&°2´<Ñ*?Ð@Ñ@Ô@Ð@ÝœH r¨2 h°°b°	Ð%:Ñ;Ô;¸bÑ@ÐÝ! "¤*×"7Ò"7Ñ"9Ô"9Ð;LÑMÔMÐMÐMÐMr+   c                 óÐ  — t          j        ¦   «         }t          j        ¦   «                              dd¦  «        }t          t          j        ¦   «                              dd¦  «        ¦  «        }t          j        t          j        d¦  «        ||z   |j	        z   ¬¦  «         t          j
        ddgddgg¦  «        dz   }t          |j                             ¦   «         |¦  «         d S )NrÄ   rÛ   r   r«  r�   )rÝ   rÞ   rž   r   rx   rT  rß   r#   rà   rá   r$   r   r  r  )r(   rå   r®  Ú	na_offsetr¯  s        r)   Útest_line_extents_non_affinez7TestTransformPlotInterface.test_line_extents_non_affine  sÁ   € ÝŒX‰ZŒZˆÝÔ%Ñ'Ô'×1Ò1°"°bÑ9Ô9ˆÝ$¥[Ô%9Ñ%;Ô%;×%EÒ%EÀbÈ"Ñ%MÔ%MÑNÔNˆ	ÝŒ•”˜2‘”¨&°9Ñ*<¸r¼|Ñ*KÐLÑLÔLÐLÝœH r¨2 h°°b°	Ð%:Ñ;Ô;¸bÑ@ÐÝ! "¤*×"7Ò"7Ñ"9Ô"9Ð;LÑMÔMÐMÐMÐMr+   c                 ó  — t          j        ¦   «         }t          j        ¦   «                              dd¦  «        }t          t          j        ¦   «                              dd¦  «        ¦  «        }t          ddgddgddgddgg¦  «        }t          j        |||z   |j	        z   ¬¦  «        }| 
                    |¦  «         t          j        ddgddgg¦  «        dz   }t          |j                             ¦   «         |¦  «         d S )NrÄ   r   rÛ   r   ç      $@r�   )rÝ   rÞ   rž   r   rx   rT  r   ÚmpatchesÚ	PathPatchrá   Ú	add_patchr#   r$   r   r  r  )r(   rå   r®  r²  ÚpthÚpatchr¯  s          r)   Útest_pathc_extents_non_affinez8TestTransformPlotInterface.test_pathc_extents_non_affine"  sû   € ÝŒX‰ZŒZˆÝÔ%Ñ'Ô'×1Ò1°"°bÑ9Ô9ˆÝ$¥[Ô%9Ñ%;Ô%;×%EÒ%EÀbÈ"Ñ%MÔ%MÑNÔNˆ	Ý�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ñ8Ô8ˆÝÔ" 3Ø-3°iÑ-?À"Ä,Ñ-NðPñ Pô Pˆà
�Š�UÑÔÐÝœH r¨2 h°°s°Ð%<Ñ=Ô=ÀÑBÐÝ! "¤*×"7Ò"7Ñ"9Ô"9Ð;LÑMÔMÐMÐMÐMr+   c                 óž  — t          j        ¦   «         }t          j        ¦   «                              dd¦  «        }t          ddgddgddgddgg¦  «        }t          j        |||j        z   ¬¦  «        }| 	                    |¦  «         t          j        ddgddgg¦  «        dz   }t          |j                             ¦   «         |¦  «         d S )NrÄ   r   rÛ   r   rµ  )rÝ   rÞ   rž   r   rx   r   r¶  r·  rá   r¸  r#   r$   r   r  r  )r(   rå   r®  r¹  rº  r¯  s         r)   Útest_pathc_extents_affinez4TestTransformPlotInterface.test_pathc_extents_affine-  sÆ   € ÝŒX‰ZŒZˆÝÔ%Ñ'Ô'×1Ò1°"°bÑ9Ô9ˆÝ�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ñ8Ô8ˆÝÔ" 3°&¸2¼<Ñ2GÐHÑHÔHˆØ
�Š�UÑÔÐÝœH r¨2 h°°s°Ð%<Ñ=Ô=ÀÑBÐÝ! "¤*×"7Ò"7Ñ"9Ô"9Ð;LÑMÔMÐMÐMÐMr+   c                 ój  — t          j        d¬¦  «        }t          j        ¦   «                              dd¦  «        }t          j        t          j        d¦  «        ||j        z   ¬¦  «         t          j	        ddgddgg¦  «        ddgz   }t          |j                             ¦   «         |¦  «         d S )Nr'  r(  r   rÄ   rÛ   r   r«  r¬  r­  s       r)   Ú*test_line_extents_for_non_affine_transDatazETestTransformPlotInterface.test_line_extents_for_non_affine_transData6  s£   € ÝŒX Ð)Ñ)Ô)ˆåÔ%Ñ'Ô'×1Ò1°!°RÑ8Ô8ˆåŒ•”˜2‘”¨&°2´<Ñ*?Ð@Ñ@Ô@Ð@õ œH r¨2 h°°b°	Ð%:Ñ;Ô;¸qÀ"¸gÑEÐÝ! "¤*×"7Ò"7Ñ"9Ô"9Ð;LÑMÔMÐMÐMÐMr+   N)r³   r´   rµ   rš  rœ  r£  r§  r©  r°  r³  r»  r½  r¿  r¶   r+   r)   r‘  r‘  æ  sÄ   € € € € € ð;ð ;ð ;ðAð Að Að	7ð 	7ð 	7ð@ð @ð @ðHð Hð HðNð Nð NðNð Nð Nð	Nð 	Nð 	NðNð Nð Nð
Nð 
Nð 
Nð 
Nð 
Nr+   r‘  c                 ó:   — t          | j        |j        ¦  «         d S rë   )r   Úbounds)Úbbox1Úbbox2s     r)   Úassert_bbox_eqrÄ  C  s   € Ý�u”| U¤\Ñ2Ô2Ð2Ð2Ð2r+   c                  óV  — t          ddg¦  «                             ¦   «         rJ ‚t          dt          j        dfg¦  «                             ¦   «         rJ ‚t          t          j         dfdg¦  «                             ¦   «         rJ ‚t          t          j        dfdg¦  «                             ¦   «         rJ ‚t          ddg¦  «                             ¦   «         sJ ‚t          ddg¦  «                             ¦   «         sJ ‚t          ddg¦  «                             ¦   «         sJ ‚d S )	N©r   r   r7   r   r   )r   r   )r   r   )r   r   )r   r   )r	   Ú
_is_finiter#   r˜  r‡  r¶   r+   r)   Útest_bbox_is_finiterÈ  G  s  € Ý�V˜VÐ$Ñ%Ô%×0Ò0Ñ2Ô2Ð2Ð2Ð2Ý�V�bœf a˜[Ð)Ñ*Ô*×5Ò5Ñ7Ô7Ð7Ð7Ð7Ý•r”v�g˜q�\ 6Ð*Ñ+Ô+×6Ò6Ñ8Ô8Ð8Ð8Ð8Ý•b”f˜a�[ &Ð)Ñ*Ô*×5Ò5Ñ7Ô7Ð7Ð7Ð7Ý�˜Ð Ñ!Ô!×,Ò,Ñ.Ô.Ð.Ð.Ð.Ý�˜Ð Ñ!Ô!×,Ò,Ñ.Ô.Ð.Ð.Ð.Ý�˜Ð Ñ!Ô!×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r+   c                  óª   — t           j                             ddddd¬¦  «        } |                      ¦   «         }t	          |j        | j        ¦  «         d S )Nr   r   )Úminpos)rž   r	   Úfrom_extentsÚfrozenr   rÊ  )ÚbboxrÌ  s     r)   Útest_bbox_frozen_copies_minposrÎ  Q  sJ   € ÝÔ×(Ò(¨¨c°3¸ÀCÐ(ÑHÔH€DØ�[Š[‰]Œ]€FÝ�v”} d¤kÑ2Ô2Ð2Ð2Ð2r+   c            	      óò  — t           j        j        } t           j        j        } | dddd¦  «        } | dddd¦  «        } | dddd¦  «        } | dddd¦  «        } | dddd¦  «        }t	           |||¦  «        |¦  «         t	           |||¦  «         | dddd¦  «        ¦  «         t	           |||¦  «        |¦  «          |||¦  «        �J ‚t	           |||¦  «         | dddd¦  «        ¦  «         d S )Nr   r   r‡   rh   r~   g      @r   )rž   r	   rË  ÚintersectionrÄ  )Úbbox_from_extÚinterr  r€  Úr3Úr4Úr5s          r)   Útest_bbox_intersectionrÖ  W  s'  € ÝÔ$Ô1€MÝÔÔ)€Eà	ˆ�q˜!˜Q Ñ	"Ô	"€BØ	ˆ�s˜C  cÑ	*Ô	*€BØ	ˆ�s˜A˜t TÑ	*Ô	*€BØ	ˆ�s˜C  CÑ	(Ô	(€BØ	ˆ�q˜!˜Q Ñ	"Ô	"€Bõ �5�5˜˜R‘=”= "Ñ%Ô%Ð%å�5�5˜˜R‘=”= - -°°S¸!¸QÑ"?Ô"?Ñ@Ô@Ð@å�5�5˜˜R‘=”= "Ñ%Ô%Ð%àˆ5��R‰=Œ=Ð Ð Ð å�5�5˜˜R‘=”= - -°°1°a¸Ñ";Ô";Ñ<Ô<Ð<Ð<Ð<r+   c            	      ó4  — t          j        ddgddgg¦  «        } t          | t          t	          | ¦  «        dt           j        i¦  «        ¦  «         t          t          | ¦  «        dt          i¦  «        }|                     ¦   «         D ]\  }}t          | |¦  «        |k    sJ ‚Œd}t          t          | |¦  «        dt          i¦  «        }|                     ¦   «         D ]6\  }}t          t          t          | |¦  «        |¦  «        ¦  «        |k    sJ ‚Œ7d S )Nr‡   r   r~   r	   z.1f)
rž   r	   rÄ  ÚevalÚreprÚstrÚdictÚitemsÚgetattrÚformat)r«   ÚasdictÚkr  Úfmts        r)   Útest_bbox_as_stringsrâ  m  s
  € ÝÔ˜2˜q˜' C¨ :Ð.Ñ/Ô/€AÝ�1•d�4 ™7œ7 V­[Ô-=Ð$>Ñ?Ô?Ñ@Ô@Ð@Ý•#�a‘&”&˜6¥4˜.Ñ)Ô)€FØ—’‘”ð "ð "‰ˆˆ1Ý�q˜!‰}Œ} Ò!Ð!Ð!Ð!Ð!Ø
€CÝ•&˜˜C‘.”. 6­4 .Ñ1Ô1€FØ—’‘”ð 5ð 5‰ˆˆ1Ý•F�7 1 a™=œ=¨#Ñ.Ô.Ñ/Ô/°1Ò4Ð4Ð4Ð4Ð4ð5ð 5r+   c                  óš  — d ggd ggg d¢g dgdggfD ]C} t          j        t          ¦  «        5  t          | d ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒDddgddggddgddggddgddggddgddggf}ddgddgg}ddgddgg}t          ||¦  «        dk    sJ ‚t          ||f¦  «        dk    sJ ‚t          ||g|¢R ¦  «        d	k    sJ ‚d S )
Nr   r   r   r   r!   rÄ   r   r   r   )rŸ   r    r¡   r   )Úinvalid_bboxÚcornersÚcenterrÍ  s       r)   Ú"test_count_bboxes_overlapping_bboxrç  y  s‚  € àˆ6ˆ(�DÐ	ÐØˆ	ˆ	Ø
Ø
ˆˆqˆcˆ
ð	ð >ð >ˆõ Œ]�:Ñ&Ô&ð 	>ð 	>Ý)¨,¸Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>øð ˆQˆ�!�Q�ÐØ
ˆQˆ�"�a�ÐØ
ˆQˆ�!�R�ÐØ
ˆQˆ�"�b�Ðð	€Gð �!ˆf�q˜!�fÐ€FØ�ˆF�R˜�HÐ€Då(¨¨wÑ7Ô7¸1Ò<Ð<Ð<Ð<Ý(¨°¨zÑ:Ô:¸aÒ?Ð?Ð?Ð?Ý(¨°Ð/A¸Ð/AÐ/AÑBÔBÀaÒGÐGÐGÐGÐGÐGs   ­A
Á
A	ÁA	c                  ó`   — t          t          j        d¬¦  «        j        ¦  «        dk    sJ ‚d S )Nr'  r(  a­  CompositeGenericTransform(
    CompositeGenericTransform(
        CompositeGenericTransform(
            TransformWrapper(
                BlendedAffine2D(
                    IdentityTransform(),
                    IdentityTransform())),
            CompositeAffine2D(
                Affine2D().scale(1.0),
                Affine2D().scale(1.0))),
        PolarTransform(
            PolarAxes(0.125,0.1;0.775x0.8),
            use_rmin=True)),
    CompositeGenericTransform(
        CompositeGenericTransform(
            PolarAffine(
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())),
                LockableBbox(
                    Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                    [[-- --]
                     [-- --]])),
            BboxTransformFrom(
                _WedgeBbox(
                    (0.5, 0.5),
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        CompositeAffine2D(
                            Affine2D().scale(1.0),
                            Affine2D().scale(1.0))),
                    LockableBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        [[-- --]
                         [-- --]])))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.09999999999999998, x1=0.9, y1=0.9),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=8.0, y1=6.0),
                        Affine2D().scale(80.0))))))))rÚ  rÝ   Úsubplotrá   r¶   r+   r)   Útest_str_transformrê  ‘  sB   € õ �sŒ{ gÐ.Ñ.Ô.Ô8Ñ9Ô9ð +>8ò +8ð +8ð +8ð +8ð +8ð +8r+   c                  óp   — t          j        ¦   «         } |                      d¦  «        }|j        dk    sJ ‚d S )NrÆ  )r   )rž   r   r‰  r.  )r£   rt  s     r)   Útest_transform_single_pointrì  Â  s6   € ÝÔÑÔ€AØ	×Ò˜6Ñ"Ô"€AØŒ7�dŠ?ˆ?ˆ?ˆ?ˆ?ˆ?r+   c                  ó�   — t          j        ¦   «         \  } }|                     d¦  «         |j                             d¦  «         d S )Nr  rÆ  )rÝ   ÚsubplotsÚ
set_yscalerá   rN   )r5  rå   s     r)   Útest_log_transformrð  È  sA   € õ Œl‰nŒn�G€CˆØ‡M‚M�%ÑÔÐØ„L×Ò˜6Ñ"Ô"Ð"Ð"Ð"r+   c                  ó°   — t          j        ddgddgg¦  «        } t          j        ddgdt          j        gg¦  «        }|                      |¦  «        rJ ‚d S )Nr   r   )rž   r	   r#   r‡  Úoverlaps)rA   r«   s     r)   Útest_nan_overlapró  Ð  sZ   € ÝÔ˜1˜a˜& 1 a &Ð)Ñ*Ô*€AÝÔ˜1˜a˜& 1¥b¤f +Ð.Ñ/Ô/€AØ�zŠz˜!‰}Œ}ÐÐÐÐÐr+   c                  ó,  — t          j        ¦   «         } t          j        g d¢¦  «        }t          j        ddgddgddgg¦  «        }|                      ||¦  «        }t          ||¦  «         t          j        t          ¦  «        5  |                      ||dd…dd…f         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                      ||dd…d d …f         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r�   rv   r8  r   r   r   )	rž   r   r#   r$   Útransform_anglesr   rŸ   r    r¡   )r£   Úanglesr:  Ú
new_angless       r)   Útest_transform_anglesrø  Ö  s–  € ÝÔÑÔ€AÝŒX�l�l�lÑ#Ô#€FÝŒX˜˜1�v  1˜v¨¨1 vÐ.Ñ/Ô/€Fð ×#Ò# F¨FÑ3Ô3€JÝ˜f jÑ1Ô1Ð1õ 
Œ•zÑ	"Ô	"ð 5ð 5Ø	×Ò˜6 6¨!¨A¨#¨q°¨s¨(Ô#3Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ 
Œ•zÑ	"Ô	"ð 3ð 3Ø	×Ò˜6 6¨!¨A¨#¨q¨q¨q¨&¤>Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s$   Â#B5Â5B9Â<B9Ã#D	Ä	DÄDc                  ó¾   — t          j        ddg¦  «        } dt           j        fddg}|D ]2}t          j        t          j        |Ž ¦  «        }t          || ¦  «         Œ3d S )Ngü©ñÒMbP¿gü©ñÒMbP?r   r7   )r   güó     )r#   r$   r‡  rž   Ú_nonsingularr   )Úzero_expansionÚcasesrÉ   Úouts       r)   Útest_nonsingularrþ  è  sj   € å”X˜v u˜oÑ.Ô.€NØ•”ˆ[˜& -Ð0€EØð 0ð 0ˆÝŒh•{Ô/°Ð6Ñ7Ô7ˆÝ˜3 Ñ/Ô/Ð/Ð/ð0ð 0r+   c                  ó®  — g d¢} t          | d¬¦  «        }t          j        ¦   «         }t          j        ||¦  «        }t	          |                     ¦   «         j        | ¦  «         dt          j        d¦  «        z  }| 	                    t          j
        dz  ¦  «         t	          |                     ¦   «         j        d||fdd|z  f| |fgd	¬
¦  «         d S )N)r7   ©r   r   rÆ  ©r   r   T)Úclosedr   r   r   r7   r   çVçž¯Ò<©Úatol)r   rž   r   ÚTransformedPathr   Úget_fully_transformed_pathÚverticesr#   ÚsqrtrK   rL   )r:  rÐ   r;   Ú
trans_pathr€  s        r)   Útest_transformed_pathr  ñ  sÜ   € Ø-Ð-Ð-€FÝ�˜tÐ$Ñ$Ô$€DåÔ Ñ"Ô"€EÝÔ,¨T°5Ñ9Ô9€JÝ�J×9Ò9Ñ;Ô;ÔDÀfÑMÔMÐMð 
�RŒW�Q‰ZŒZ‰€BØ	‡L‚L•”˜‘ÑÔÐÝ�J×9Ò9Ñ;Ô;ÔDØ˜b "˜X¨¨1¨r©6 {°b°S¸"°IÐ>Øð ñ  ô  ð  ð  ð  r+   c                  ó®  — t          j        ¦   «         } t          j        dddd| ¬¦  «        }t          j        |¦  «        }|                     ¦   «         j        }|                      d¦  «         t          |                     ¦   «         j        |dz  ¦  «         | 	                    d¦  «         t          |                     ¦   «         j        |¦  «         d S )Nr7   r   rv   é‡   rÛ   r   r‡   )
rž   r   r¶  ÚWedgeÚTransformedPatchPathr  r  r   r   Ú
set_radius)r;   rº  Útpatchr:  s       r)   Útest_transformed_patch_pathr    s½   € ÝÔ Ñ"Ô"€EÝŒN˜6 1 b¨#¸Ð?Ñ?Ô?€EåÔ-¨eÑ4Ô4€FØ×.Ò.Ñ0Ô0Ô9€Fð 
‡K‚K��N„N€NÝ�F×5Ò5Ñ7Ô7Ô@À&È1Á*ÑMÔMÐMð 
×Ò�SÑÔÐÝ�F×5Ò5Ñ7Ô7Ô@À&ÑIÔIÐIÐIÐIr+   Úlocked_element©Úx0Úy0Úx1Úy1c                 óö  — g d¢}|                      | ¦  «         t          j                             ¦   «         }t          j        |fi | di¤Ž}t          || ¦  «        dk    sJ ‚t          |d| z   ¦  «        dk    sJ ‚|D ]&}t          ||¦  «        t          ||¦  «        k    sJ ‚Œ'|                     |                     ¦   «         dz   ¦  «         t          || ¦  «        dk    sJ ‚t          |d| z   ¦  «        dk    sJ ‚|D ]&}t          ||¦  «        t          ||¦  «        k    sJ ‚Œ't          |d| z   d ¦  «         t          |d| z   ¦  «        �J ‚t          j
        |                     ¦   «         |                     ¦   «         k    ¦  «        sJ ‚t          |d| z   d¦  «         t          || ¦  «        dk    sJ ‚t          |d| z   ¦  «        dk    sJ ‚|D ]&}t          ||¦  «        t          ||¦  «        k    sJ ‚Œ'd S )Nr  r   Úlocked_rÄ   r   )Úremoverž   r	   ÚunitÚLockableBboxrÝ  Ú
set_pointsr  Úsetattrr#   r©   )r  Úother_elementsÚorigÚlockedÚelems        r)   Útest_lockable_bboxr$    sU  € à-Ð-Ð-€NØ×Ò˜.Ñ)Ô)Ð)åÔ× Ò Ñ"Ô"€DÝÔ% dÐBÐB¨~¸qÐ.AÐBÐB€Fõ �6˜>Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ý�6˜9 ~Ñ5Ñ6Ô6¸!Ò;Ð;Ð;Ð;Øð <ð <ˆÝ�v˜tÑ$Ô$­°°dÑ(;Ô(;Ò;Ð;Ð;Ð;Ð;ð 	‡O‚O�D—O’OÑ%Ô%¨Ñ*Ñ+Ô+Ð+Ý�6˜>Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ý�6˜9 ~Ñ5Ñ6Ô6¸!Ò;Ð;Ð;Ð;Øð <ð <ˆÝ�v˜tÑ$Ô$­°°dÑ(;Ô(;Ò;Ð;Ð;Ð;Ð;õ ˆF�I Ñ.°Ñ5Ô5Ð5Ý�6˜9 ~Ñ5Ñ6Ô6Ð>Ð>Ð>ÝŒ6�$—/’/Ñ#Ô# v×'8Ò'8Ñ':Ô':Ò:Ñ;Ô;Ð;Ð;Ð;õ ˆF�I Ñ.°Ñ2Ô2Ð2Ý�6˜>Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ý�6˜9 ~Ñ5Ñ6Ô6¸!Ò;Ð;Ð;Ð;Øð <ð <ˆÝ�v˜tÑ$Ô$­°°dÑ(;Ô(;Ò;Ð;Ð;Ð;Ð;ð<ð <r+   c                  ó  — t          j        t          j        ¦   «         ¦  «        } t          j        t
          d¬¦  «        5  |                      t          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz`The input and output dims of the new child \(1, 1\) do not match those of current child \(2, 2\)©ÚmatchrÄ   )	rž   ÚTransformWrapperr   rŸ   r    r¡   Úsetr   rI  )r£   s    r)   Útest_transformwrapperr*  4  s¼   € ÝÔ$¥[Ô%9Ñ%;Ô%;Ñ<Ô<€AÝ	Œ•zð<ð
>ñ 
>ô 
>ð &ð &ð 	
�Š�eÔ  Ñ$Ô$Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Á(A6Á6A:Á=A:c           	      ó:  — t           j                             d¦  «         t           j                             d¬¦  «        }t          j        ddd¦  «        }t          | |gddg¦  «        D ]°\  }}|                     ¦   «         }|                     ||d¬¦  «         |                     |t          j	        |d	z   d	z  ¦  «        t          j
        d	t           j        z  ¦  «        z  ¦  «         |j                             ¦   «          |                     d
¦  «         Œ±d S )Nr-   rÄ   )ÚsizerŸ  r   TF)r  Údensityr   Úlinear)r#   r.   r/   Únormalr  rL  rî  Úhistrß   Úexpr	  rL   r2  râ   rï  )Úfig_testÚfig_refÚsamplesr  r5  Ú	log_staterå   s          r)   Útest_scale_swappingr6  <  sú   € å„I‡N‚N�8ÑÔÐÝŒi×Ò BÐÑ'Ô'€GÝ
Œ�B˜˜2ÑÔ€Aå˜x¨Ð1°D¸%°=ÑAÔAð  ð  ‰ˆˆYØ�\Š\‰^Œ^ˆØ
�Š�˜Y°ˆÑ5Ô5Ð5Ø
�Š�•2”6˜A˜q™D˜' A™+Ñ&Ô&­¬°µR´U±Ñ);Ô);Ñ;Ñ<Ô<Ð<ØŒ
�ŠÑÔÐØ
�Š�hÑÔÐÐð ð  r+   c                  ó,  — t          j        t          d¬¦  «        5  t          j        d 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 S # 1 swxY w Y   d S )NzZ'fontsize' is not a valid value for units. Supported values are 'dots', 'points', 'inches'r&  Úfontsize)Úunitsz3For units of inches or points a fig kwarg is neededÚinches)rŸ   r    r¡   rž   Úoffset_copyr¶   r+   r)   Útest_offset_copy_errorsr<  J  s,  € Ý	Œ•zðOð
Pñ 
Pô 
Pð 8ð 8õ 	Ô ¨JÐ7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ
 
Œ•zØRð
Tñ 
Tô 
Tð 6ð 6åÔ ¨HÐ5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s!   œ?¿AÁAÁ%B	Â	BÂBc                  ó(  — t          t          j        ¦   «         t          ¦   «                              d¦  «        ¦  «        } |                      dd¦  «        sJ ‚|                      dd¦  «        sJ ‚|                      dd¦  «        rJ ‚t          t          j        ¦   «         t          ¦   «                              dd¦  «        ¦  «        } |                      dd	¦  «        sJ ‚|                      dd	¦  «        rJ ‚|                      d
d
¦  «        rJ ‚d S )Né   r•  r‡   gš™™™™™Ù¿g333333ë?r—  g      Ð?ri   rh   r  )r
   r	   r  r   rM   Úcontainsrx   Úfully_contains)Úbbs    r)   Útest_transformedbbox_containsrB  U  sø   € Ý	�œ™œ¥h¡j¤j×&;Ò&;¸BÑ&?Ô&?Ñ	@Ô	@€BØ�;Š;�r˜2ÑÔÐÐÐØ�;Š;�s˜CÑ Ô Ð Ð Ð Ø�{Š{˜2˜rÑ"Ô"Ð"Ð"Ð"Ý	�œ™œ¥h¡j¤j×&:Ò&:¸3ÀÑ&CÔ&CÑ	DÔ	D€BØ�;Š;�t˜SÑ!Ô!Ð!Ð!Ð!Ø× Ò   sÑ+Ô+Ð+Ð+Ð+Ø× Ò   RÑ(Ô(Ð(Ð(Ð(Ð(Ð(r+   c                  ó  — t          j        dd¦  «        sJ ‚t          j        dd¦  «        sJ ‚t          j        dd¦  «        sJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        sJ ‚d S ©Nr  r‡   r   r   rE   r   r   )rž   Ú_interval_containsr¶   r+   r)   Útest_interval_containsrF  `  sž   € ÝÔ)¨&°#Ñ6Ô6Ð6Ð6Ð6ÝÔ)¨&°!Ñ4Ô4Ð4Ð4Ð4ÝÔ)¨&°!Ñ4Ô4Ð4Ð4Ð4ÝÔ-¨f°bÑ9Ô9Ð9Ð9Ð9ÝÔ-¨f°aÑ8Ô8Ð8Ð8Ð8ÝÔ)¨&°#Ñ6Ô6Ð6Ð6Ð6Ð6Ð6r+   c                  ó  — t          j        dd¦  «        sJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        rJ ‚t          j        dd¦  «        sJ ‚d S rD  )rž   Ú_interval_contains_openr¶   r+   r)   Útest_interval_contains_openrI  i  sž   € ÝÔ.¨v°sÑ;Ô;Ð;Ð;Ð;ÝÔ2°6¸1Ñ=Ô=Ð=Ð=Ð=ÝÔ2°6¸1Ñ=Ô=Ð=Ð=Ð=ÝÔ2°6¸2Ñ>Ô>Ð>Ð>Ð>ÝÔ2°6¸1Ñ=Ô=Ð=Ð=Ð=ÝÔ.¨v°sÑ;Ô;Ð;Ð;Ð;Ð;Ð;r+   c                  óŒ   — d} t          ¦   «         }t          | |¦  «        }|j        | k    sJ ‚|j        |k    sJ ‚|j        �J ‚dS )z=Test that the ScaledRotation object is initialized correctly.r   N)r   r   Ú_thetaÚ_trans_shiftÚ_mtx)ÚthetaÚtrans_shiftÚ
scaled_rots      r)   Ú"test_scaledrotation_initializationrQ  r  s[   € à€EÝ‘+”+€KÝ  ¨Ñ4Ô4€JØÔ Ò%Ð%Ð%Ð%ØÔ" kÒ1Ð1Ð1Ð1ØŒ?Ð"Ð"Ð"Ð"Ð"r+   c                  ón  — t           j        dz  } t          t          | dgg¬¦  «        ¬¦  «        }t          | |¦  «        }d|_        |                     ¦   «         }|j                             | dgg¦  «         t          j        ddgddgg¦  «        }|€J ‚t          |dd…dd…f         |d	¬
¦  «         dS )zCTest get_matrix when the matrix is invalid and needs recalculation.r   r   )Úreturn_valuerÛ   TrE   r   Nr  r  )
r#   rL   r   r   r¨   r:   rN   Úassert_called_once_withr$   r   )rN  rO  rP  ÚmatrixÚexpected_rotations        r)   Ú&test_scaledrotation_get_matrix_invalidrW  |  sÏ   € åŒE�A‰I€EÝ¥i¸uÀa¸j¸\Ð&JÑ&JÔ&JÐKÑKÔK€KÝ  ¨Ñ4Ô4€JØ€JÔØ×"Ò"Ñ$Ô$€FØÔ×1Ò1°E¸1°:°,Ñ?Ô?Ð?Ýœ 1 b 'Ø#$ q 'ð"+ñ ,ô ,ÐàÐÐÐÝ�F˜2˜A˜2˜r ˜r˜6”NÐ$5¸EÐBÑBÔBÐBÐBÐBr+   )Jr§   Únumpyr#   Únumpy.testingr   r   r   r   rŸ   Ú
matplotlibr   Úmatplotlib.pyplotÚpyplotrÝ   Úmatplotlib.patchesÚpatchesr¶  Úmatplotlib.transformsÚ
transformsrž   r   r	   r
   r   Úmatplotlib.pathr   Úmatplotlib._pathr   Úmatplotlib.testing.decoratorsr   r   Úunittest.mockr   r   r¸   ræ   r÷   r  r  r"  r$  r6  r<  r@  rR  rÜ   rT  rZ  r‘  rÄ  rÈ  rÎ  rÖ  râ  rç  rê  rì  rð  ró  rø  rþ  r  r  ÚmarkÚparametrizer$  r*  r6  r<  rB  rF  rI  rQ  rW  r¶   r+   r)   ú<module>rg     s“  ðØ €€€à Ð Ð Ð ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jà €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø +Ð +Ð +Ð +Ð +Ð +Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ #Ð #Ð #Ð #Ð #Ð #ðD;ð D;ð D;ð D;ð D;ñ D;ô D;ð D;ðN
2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð2#ð #ð #ðLCð Cð Cð$ ÐÐ'Ð(°dÀ'Øðñ ô ð Ið  Iñô ð IðF;ð ;ð ;ð	;ð 	;ð 	;ð	;ð 	;ð 	;ðð ð ð&"*ð "*ð "*ðJKð Kð Kð-ð -ð -ð4ð 4ð 4ð 4ð 4�{Ô,ñ 4ô 4ð 4ð,I4ð I4ð I4ð I4ð I4ñ I4ô I4ð I4ðXZNð ZNð ZNð ZNð ZNñ ZNô ZNð ZNðz3ð 3ð 3ð/ð /ð /ð3ð 3ð 3ð=ð =ð =ð,	5ð 	5ð 	5ðHð Hð Hð0.8ð .8ð .8ðbð ð ð#ð #ð #ðð ð ð3ð 3ð 3ð$0ð 0ð 0ð ð  ð  ð Jð Jð Jð" „×ÒÐ)Ð+CÐ+CÐ+CÑDÔDð<ð <ñ EÔDð<ðB&ð &ð &ð ÐÑÔð
 ð 
 ñ Ôð
 ð6ð 6ð 6ð)ð )ð )ð7ð 7ð 7ð<ð <ð <ð#ð #ð #ðCð Cð Cð Cð Cr+   