ó
    [huX  ã                   óÄ  • S SK r S SKJrJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKrS SKrSrS rS	 rS
 rS r\R:                  R=                  S5      S 5       rS r \R:                  RC                  S/ SQ5      S 5       r"S r#S r$S r%S r&\R:                  RC                  SSS/5      \R:                  RC                  SSS/5      \R:                  RC                  SS\RN                  S4S\RP                  S4S \RN                  S!4S \RP                  S"4/5      S# 5       5       5       r)S$ r*S% r+\R:                  RC                  S&S'S(S\RX                  " S)\S*9/5      S+ 5       r-\R:                  RC                  S,/ S-Q5      S. 5       r.S/ r/S0 r0S1 r1\R:                  RC                  S2SS /5      \R:                  RC                  S3\RN                  \RP                  /5      \R:                  RC                  S4S5S6/5      \R:                  RC                  S7/ S8Q5      \R:                  RC                  S9S:S;/5      S< 5       5       5       5       5       r2g)=é    N)ÚpathÚ
transforms)ÚFigureCanvasBaseÚKeyEventÚLocationEventÚMouseButtonÚ
MouseEventÚNavigationToolbar2ÚRendererBase)ÚRubberbandBase©ÚFigure)Úneeds_pgf_xelatexzƒTreat the new Tool classes introduced in v[0-9]*.[0-9]* as experimental for now; the API and rcParam may change in future versions.c            
      óÚ  • [         R                  " 5       n [        SS5       Vs/ s H"  n[        R                  R                  U5      PM$     nn[        SS5       Vs/ s H/  oR                  U5      R                  5       R                  5       PM1     nn[        R                  " S5      R                  S5      nSS/nSS/nS	 nU" XX4XV5        U" XS
S X4XV5        U" U / X4XV5        U" XUS
S XEU5        U" X/ XEU5        [        S
UR                  S
   5       H  nU" XX4S
U2S S 24   XV5        M     U" XX4/ U5        U" XX4U/ 5        U" XX4/ / 5        U" XX4US
S U5        g s  snf s  snf )Né   é   é   é   é   )é
   é   ÚredÚgreenc                 óö  • [        5       n[        UR                  XU5      5      nUR                  5       nUR	                  U[        [        U5      5      U[        R                  " U 5      XE/ / S// S5       V	V
VVVs/ s H  u  pšp¼oÛPM
     nnnn
n	nUR                  XX4U5      nU(       aE  [        R                  " U[        U5      S9n[        U5      R                  US-
  U/5      (       d   eg g s  snnnn
n	f )NFÚscreen)Ú	minlengthr   )r   ÚlistÚ_iter_collection_raw_pathsÚnew_gcÚ_iter_collectionÚrangeÚlenr   ÚAffineDeltaTransformÚ_iter_collection_uses_per_pathÚnpÚbincountÚsetÚissubset)Úmaster_transformÚpathsÚall_transformsÚoffsetsÚ
facecolorsÚ
edgecolorsÚrbÚ	raw_pathsÚgcÚxoÚyoÚpath_idÚgc0ÚrgbFaceÚidsÚusesÚseens                    Úr/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/matplotlib/tests/test_backend_bases.pyÚcheckÚ!test_uses_per_path.<locals>.check   só   € ä‹^ˆÜ˜×6Ñ6Ø ^ó5ó 6ˆ	à�Y‰Y‹[ˆà×"Ñ"Ø”uœS ›^Ó,¨gÜ×2Ò2Ð3CÓDØ¨2¨r°E°7Ø�xô	!÷"ò!ñ 9˜2 7°Šwñ!ð 	ô "ð ×0Ñ0Ø 7¸
óDˆæÜ—;’;˜s¬c°)«nÑ=ˆDÜ�t“9×%Ñ% t¨a¡x°Ð&6×7Ñ7Ð7Ñ7ð ùö"s   Á=C2r   )r   ÚAffine2Dr!   r   ÚPathÚunit_regular_polygonÚrotateÚ
get_matrixÚcopyr%   ÚarangeÚreshapeÚshape)	ÚidÚir*   Útforms_matricesr,   r-   r.   r;   Úns	            r:   Útest_uses_per_pathrJ      sl  € Ü	×	Ò	Ó	€BÜ8=¸aÀ¼ÓDº°1ŒT�Y‰Y×+Ñ+¨AÖ.¹€EÐDÜAFÀqÈ!ÄÓMÂ¸A—y‘y “|×.Ñ.Ó0×5Ñ5Ö7Á€OÐMÜ�iŠi˜‹m×#Ñ# GÓ,€GØ˜Ð!€JØ˜Ð!€Jò8ñ$ 
ˆ"�_¨zÔFÙ	ˆ"�A�aˆj˜/°JÔKÙ	ˆ"ˆb�/¨JÔCÙ	ˆ"�_ Q qÐ)¨7À
ÔKÙ	ˆ"�R˜¨jÔ9Ü�1�g—m‘m AÑ&Ö'ˆÙˆb˜°!°A°#²q°&©/Øö	&ñ (ñ 
ˆ"�_¨r°:Ô>Ù	ˆ"�_¨z¸2Ô>Ù	ˆ"�_¨r°2Ô6Ù	ˆ"�_¨z¸!¸A¨À
ÕKùòG EùÚMs   ¤)E#Á6E(c                  óV   • [        [        5       R                  [        5      (       d   eg ©N)Ú
isinstancer   Úfigurer   © ó    r:   Útest_canvas_ctorrQ   >   s   € ÜÔ&Ó(×/Ñ/´×8Ñ8Ð8Ñ8rP   c                  ój   • [         R                  " 5       R                  R                  5       S:X  d   eg )Nz	image.png)ÚpltrN   ÚcanvasÚget_default_filenamerO   rP   r:   Útest_get_default_filenamerV   B   s%   € Ü�:Š:‹<×Ñ×3Ñ3Ó5¸ÓDÐDÑDrP   c                  ó¾   • [         R                  " 5       n [        U 5      n[         R                  " U 5        [         R                  " U R
                  5      (       a   eg rL   )rS   rN   r   ÚcloseÚfignum_existsÚnumber)ÚfigrT   s     r:   Útest_canvas_changer\   F   s@   € Ü
�*Š*‹,€Cä˜cÓ"€Fä‡I‚Iˆc„NÜ× Ò  §¡×,Ñ,Ð,Ð,Ð,rP   Úpdfc                 óR  • [         R                  " 5         U R                  SS5        [        R                  " [
        5       n[         R                  " 5         [        U5      S:X  d   eS[        US   R                  5      ;   d   e S S S 5        [        R                  " [
        5       n[         R                  " 5       R                  5         [        U5      S:X  d   eS[        US   R                  5      ;   d   e S S S 5        g ! , (       d  f       N…= f! , (       d  f       g = f)NÚDISPLAYz:999r   z<FigureCanvasPdf is non-interactive, and thus cannot be shownr   )rS   ÚsubplotsÚsetenvÚpytestÚwarnsÚUserWarningÚshowr"   ÚstrÚmessageÚgcf)ÚmonkeypatchÚrecs     r:   Útest_non_gui_warningrk   O   sÕ   € ä‡L‚L„Nà×Ñ�y &Ô)ä	�Š”kÔ	" cÜ�ŠŒ
Ü�3‹x˜1‹}Ðˆ}ØNÜ�s˜1‘v—~‘~Ó&ó'ð 	(ñ '÷ 
#ô 
�Š”kÔ	" cÜ�Š‹	�‰ÔÜ�3‹x˜1‹}Ðˆ}ØNÜ�s˜1‘v—~‘~Ó&ó'ð 	(ñ '÷ 
#Ð	"÷ 
#Õ	"ú÷ 
#Õ	"ús   ÁADÂ*ADÄ
DÄ
D&c                  óò   • [         R                  " 5       u  pU R                  R                  U5        U R                  R                  U:X  d   eU R                  5         U R                  R                  b   eg rL   )rS   r`   rT   Ú
grab_mouseÚmouse_grabberÚclear©r[   Úaxs     r:   Útest_grab_clearrr   b   sX   € Ü�lŠl‹n�G€Cà‡J�J×Ñ˜"ÔØ�:‰:×#Ñ# rÓ)Ð)Ð)à‡I�I„KØ�:‰:×#Ñ#Ñ+Ð+Ñ+rP   zx, y))é*   é   )Nrs   )NN)éÈ   gq=
×£ Y@)g     ¸i@g       @c                 ór  • [         R                  " 5       u  p#[        U5      n[        SX@U5      nU c  UR                  b   eO<UR                  [        U 5      :X  d   e[        UR                  [
        5      (       d   eUc  UR                  b   eO<UR                  [        U5      :X  d   e[        UR                  [
        5      (       d   eU bg  Ubc  UR                  X5      SUR                  U 5       SUR                  U5       S3:X  d   eS =Ul        Ul        UR                  X5      S:X  d   eg g g )NÚ
test_eventz
(x, y) = (z, Ú)c                 ó   • g)NÚfoorO   )Úxs    r:   Ú<lambda>Ú.test_location_event_position.<locals>.<lambda>€   s   € °rP   z(x, y) = (foo, foo))rS   r`   r   r   r{   ÚintrM   ÚyÚformat_coordÚformat_xdataÚformat_ydataÚ	fmt_xdataÚ	fmt_ydata)r{   r   r[   rq   rT   Úevents         r:   Útest_location_event_positionr†   l   s#  € ô �lŠl‹n�G€CÜ˜cÓ"€FÜ˜,¨°1Ó5€EØ�yØ�w‰w‰Ð‰à�w‰wœ#˜a›&Ó Ð Ð Ü˜%Ÿ'™'¤3×'Ñ'Ð'Ð'Ø�yØ�w‰w‰Ð‰à�w‰wœ#˜a›&Ó Ð Ð Ü˜%Ÿ'™'¤3×'Ñ'Ð'Ð'Ø�}˜™Ø—‘ Ó%Ø §¡°Ó 2Ð3°2°b·o±oÀaÓ6HÐ5IÈÐKóLð 	Mð Lá&5Ð5ˆŒ�r”|Ø�‰˜qÓ$Ð(=Ó=Ð=Ñ=ð	 '€}rP   c                  óV  • [         R                  " 5       u  pUR                  SSS9  UR                  SS5      S:X  d   eUR	                  5       R                  SS9  UR                  SS5      S:X  d   eUR                  5       R                  S	S
9  UR                  SS5      S:X  d   eg )N©r   r   )r   r   )ÚxlimÚylimg      @z(x, y) = (5.00, 5.00))r   é(   )rŠ   z$(x, y) = (5.00, 5.00) | (5.00, 10.0))r   r   )r‰   z3(x, y) = (5.00, 5.00) | (5.00, 10.0) | (2.50, 5.00))rS   r`   r'   r€   ÚtwinxÚtwinyrp   s     r:   Ú!test_location_event_position_twinrŽ   „   sž   € Ü�lŠl‹n�G€CØ‡F�F�˜g€FÑ&Ø�?‰?˜2˜rÓ"Ð&=Ó=Ð=Ð=Ø‡H�HƒJ‡N�N˜€NÑ Ø�?‰?˜2˜rÓ"Ð&LÓLÐLÐLØ‡H�HƒJ‡N�N˜€NÑØ�O‰O˜B Ó#ØDóEð Fñ ErP   c            	      ó&  ^• [         R                  " 5       n U R                  SSSSSSS9  U R                  R	                  5         / mU4S jnU R                  R                  SU5        [        SU R                  S	5      R                  5         [        S
U R                  /U R                  R                  S5      Q[        R                  P76 R                  5         [        SU R                  S	5      R                  5         [        T5      S:X  d   eg )Nç      à?ÚhelloÚcenterT)ÚhaÚvaÚpickerc                 ó`   >• U R                   R                  S:X  d   eTR                  U 5        g )NÚa)Ú
mouseeventÚkeyÚappend)r…   Úpickss    €r:   Úhandle_pickÚtest_pick.<locals>.handle_pick•   s)   ø€ Ø×Ñ×#Ñ# sÓ*Ð*Ð*Ø�‰�UÕrP   Ú
pick_eventÚkey_press_eventr—   Úbutton_press_event©r�   r�   Úkey_release_eventr   )rS   rN   ÚtextrT   ÚdrawÚmpl_connectr   Ú_processr	   ÚtransFigureÚ	transformr   ÚLEFTr"   )r[   rœ   r›   s     @r:   Ú	test_pickrª   �   sÕ   ø€ Ü
�*Š*‹,€CØ‡H�HˆR��W ¨h¸t€HÑDØ‡J�J‡O�OÔà€Eõð ‡J�J×Ñ˜<¨Ô5äÐ §
¡
¨CÓ0×9Ñ9Ô;ÜÐ# S§Z¡Zð !Ø—‘×)Ñ)¨(Ó3ð!ä×Ñò!ç!)¡¤ÜÐ  #§*¡*¨cÓ2×;Ñ;Ô=Üˆu‹:˜‹?Ð‰?rP   c                  óš  • [         R                  " 5       u  pUR                  SS9  UR                  5       b   e[	        U R
                  5      nUR                  5         UR                  5       S:X  d   eUR                  5       nUR                  5       nSnSnUR                  R                  U5      R                  [        5      nUR                  R                  U5      R                  [        5      n[        SU R
                  /UQ[        R                  P76 n	U R
                  R                   R#                  U	R$                  U	5        [        SU R
                  /UQ[        R                  P76 n
U R
                  R                   R#                  U
R$                  U
5        UR                  5       U	R&                  U
R&                  4:X  d   eUR                  5       U	R(                  U
R(                  4:X  d   e[        SU R
                  /UQ[        R*                  P76 n	U R
                  R                   R#                  U	R$                  U	5        [        SU R
                  /UQ[        R*                  P76 n
U R
                  R                   R#                  U
R$                  U
5        UR                  5       [,        R.                  " USS	S
9:X  d   eUR                  5       [,        R.                  " USS	S
9:X  d   eUR                  5         UR                  5       b   eUR1                  5       (       d  UR3                  5       (       a   eg )NÚlogit)ÚxscaleÚZOOM)g�íµ ÷Æ°>çš™™™™™¹?)gwJëÿï?çš™™™™™é?r    Úbutton_release_eventr   g»½×Ùß|Û=)ÚrelÚabs)rS   r`   r'   Úget_navigate_moder
   rT   ÚzoomÚget_xlimÚget_ylimÚ	transDatar¨   Úastyper~   r	   r   r©   Ú	callbacksÚprocessÚnameÚxdataÚydataÚRIGHTrb   ÚapproxÚget_autoscalex_onÚget_autoscaley_on)r[   rq   ÚtbÚxlim0Úylim0Úd0Úd1Ús0Ús1Ústart_eventÚ
stop_events              r:   Útest_interactive_zoomrÌ   ¢   sÂ  € Ü�lŠl‹n�G€CØ‡F�F�'€FÑØ×ÑÓ!Ñ)Ð)Ð)ä	˜CŸJ™JÓ	'€BØ‡G�G„IØ×ÑÓ! VÓ+Ð+Ð+à�K‰K‹M€EØ�K‰K‹M€Eð 
€BØ	€Bð 
�‰×	Ñ	 Ó	#×	*Ñ	*¬3Ó	/€BØ	�‰×	Ñ	 Ó	#×	*Ñ	*¬3Ó	/€Bô Ø˜cŸj™jðAØ+-ðAÜ/:×/?Ñ/?òA€Kà‡J�J×Ñ× Ñ  ×!1Ñ!1°;Ô?ÜØ §
¡
ðCØ-/ðCÜ1<×1AÑ1AòC€Jà‡J�J×Ñ× Ñ  §¡°*Ô=Ø�;‰;‹=˜[×.Ñ.°
×0@Ñ0@ÐAÓAÐAÐAØ�;‰;‹=˜[×.Ñ.°
×0@Ñ0@ÐAÓAÐAÐAô Ø˜cŸj™jðBØ+-ðBÜ/:×/@Ñ/@òB€Kà‡J�J×Ñ× Ñ  ×!1Ñ!1°;Ô?ÜØ §
¡
ðDØ-/ðDÜ1<×1BÑ1BòD€Jà‡J�J×Ñ× Ñ  §¡°*Ô=à�;‰;‹=œFŸMšM¨%°Q¸EÑBÓBÐBÐBØ�;‰;‹=œFŸMšM¨%°Q¸EÑBÓBÐBÐBà‡G�G„IØ×ÑÓ!Ñ)Ð)Ð)à×#Ñ#×%Ñ%¨b×.BÑ.B×.DÑ.DÐDÐDÐ.DrP   c                  óJ  • [         R                  " 5       u  pUR                  SS/SS/5        U R                  R	                  U5        [        U R                  5      nUR                  5         UR                  5       b   eUR                  5         UR                  5       b   eg )Nr   r   )	rS   r`   ÚplotrT   Ú
widgetlockr
   rµ   r´   Úpan)r[   rq   rÃ   s      r:   Útest_widgetlock_zoompanrÑ   Ò   s�   € Ü�lŠl‹n�G€CØ‡G�GˆQ�ˆF�Q˜�FÔØ‡J�J×Ñ˜"ÔÜ	˜CŸJ™JÓ	'€BØ‡G�G„IØ×ÑÓ!Ñ)Ð)Ð)Ø‡F�F„HØ×ÑÓ!Ñ)Ð)Ñ)rP   Ú	plot_funcÚimshowÚcontourfÚorientationÚverticalÚ
horizontalztool,button,expectedrµ   ©é   é   )iìÿÿÿé   rÐ   )éþÿÿÿé   )g…ëQ¸…÷?g…ëQ¸@c                 ó„  • [         R                  " 5       u  pV[        R                  " S5      R	                  S5      nSu  p‰[        X`5      " XxU	S9n
UR                  X¦US9nU S:X  a"  UR                  R                  5       (       a   eg UR                  R                  5       (       d   eSu  pÍUS4nUS4nUS	:X  a  US S S
2   nUS S S
2   nUR                  R                  R                  U5      R                  [        5      nUR                  R                  R                  U5      R                  [        5      n[        SUR                  /UQUP76 n[        SUR                  /UQUP76 n[        UR                  5      nUS:X  aD  UR!                  5         UR#                  U5        UR%                  U5        UR'                  U5        OCUR)                  5         UR+                  U5        UR-                  U5        UR/                  U5        UR0                  UR2                  4[4        R6                  " USS9:X  d   eg )Né   )rÙ   r   rˆ   )ÚvminÚvmax)rq   rÕ   rÔ   rØ   r�   rÖ   éÿÿÿÿr    r±   rµ   ç333333Ã?©r³   )rS   r`   r%   rC   rD   ÚgetattrÚcolorbarrq   Úget_navigater¸   r¨   r¹   r~   r	   rT   r
   rµ   Ú
press_zoomÚ	drag_zoomÚrelease_zoomrÐ   Ú	press_panÚdrag_panÚrelease_panrà   rá   rb   rÀ   )rÒ   rÕ   ÚtoolÚbuttonÚexpectedr[   rq   ÚdataÚvmin0Úvmax0ÚcollÚcbrà   rá   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÃ   s                        r:   Útest_interactive_colorbarrö   Ý   sø  € ô �lŠl‹n�G€CÜ�9Š9�R‹=× Ñ  Ó(€DØ�L€EÜ�2Ô! $¸Ñ?€Dà	�‰�d¨{ˆÐ	;€BØ�JÓà—5‘5×%Ñ%×'Ñ'Ð'Ð'Øà�5‰5×Ñ×ÑÐÐð �J€Dð
 �ˆ€BØ
�ˆ€Bà�jÓ Ø‘�"�‰XˆØ‘�"�‰Xˆð 
�‰�‰×	"Ñ	" 2Ó	&×	-Ñ	-¬cÓ	2€BØ	�‰�‰×	"Ñ	" 2Ó	&×	-Ñ	-¬cÓ	2€Bô Ø˜cŸj™jð7Ø+-ð7Ø/5ò7€KäØ §
¡
ð9Ø-/ð9Ø17ò9€Jô 
˜CŸJ™JÓ	'€BØˆvƒ~Ø
�‰Œ	Ø
�‰�kÔ"Ø
�‰�ZÔ Ø
�‰˜
Õ#à
�‰ŒØ
�‰�[Ô!Ø
�‰�JÔØ
�‰�zÔ"ð �G‰G�R—W‘WÐ¤§¢¨x¸TÑ!BÓBÐBÑBrP   c                  ó  • [         R                  " [        [        S9   S[        R
                  S'   S S S 5        [        R                  " 5       n U R                  5       nU R                  5       b   eUR                  R                  R                  R                  S5        U R                  5       S:X  d   eUR                  R                  R                  R                  S5        U R                  5       S:X  d   eg ! , (       d  f       NÑ= f)N©ÚmatchÚtoolmanagerÚtoolbarrµ   r®   rÐ   ÚPAN)rb   rc   rd   Ú_EXPECTED_WARNING_TOOLMANAGERrS   ÚrcParamsÚgcaÚ
get_figurer´   rT   Úmanagerrú   Útrigger_tool)rq   r[   s     r:   Útest_toolbar_zoompanr    sÄ   € Ü	�Š”kÔ)FÓ	GØ"/Œ�‰�YÑ÷ 
Hä	�Š‹€BØ
�-‰-‹/€CØ×ÑÓ!Ñ)Ð)Ð)Ø‡J�J×Ñ×"Ñ"×/Ñ/°Ô7Ø×ÑÓ! VÓ+Ð+Ð+Ø‡J�J×Ñ×"Ñ"×/Ñ/°Ô6Ø×ÑÓ! UÓ*Ð*Ñ*÷ 
HÕ	Gús   žC=Ã=
Dc                  ód  • [         R                  " 5       u  pUR                  [        S5      [        S5      5        [	        U R
                  5      nUR                  5         [        SU R
                  SSS5      R                  5         [        SU R
                  SSS5      R                  5         UR                  5       UR                  5       s=:X  a  S:X  d   e   e[        SU R
                  SSS5      R                  5         [        SU R
                  SSS5      R                  5         UR                  5       UR                  5       s=:X  a  S:X  d   e   eUR                  R                  SS	/5      u  p4[        S
U R
                  /UQ[        R                  P76 R                  5         [        SU R
                  /UQ[        R                  P76 R                  5         [        SU R
                  S5      R                  5         UR                  5       UR                  5       s=:X  a  S:X  d   e   e[        SU R
                  SSS5      R                  5         [        SU R
                  SSS5      R                  5         UR                  5       UR                  5       s=:X  a  S:X  d   e   eg )Né   rŸ   Úkéd   Úl)r   r   rˆ   )r   r   )r   r   r    r±   Úh)rS   r`   rÎ   r!   r
   rT   rµ   r   r¦   r¶   r·   r¸   r¨   r	   r   r©   )r[   rq   rÃ   ÚstartÚstops        r:   Ú$test_toolbar_home_restores_autoscaler  &  s  € Ü�lŠl‹n�G€CØ‡G�GŒE�"‹I”u˜R“yÔ!ä	˜CŸJ™JÓ	'€BØ‡G�G„Iô Ð §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÕ4¨WÓ4Ð4Ñ4Ð4Ð4äÐ §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÕ4¨WÓ4Ð4Ñ4Ð4Ð4ð —,‘,×(Ñ(¨&°&Ð)9Ó:�K€EÜÐ# S§Z¡ZÐJ°%ÐJ¼×9IÑ9IÒJ×SÑSÔUÜÐ% s§z¡zÐK°DÐK¼+×:JÑ:JÒK×TÑTÔVäÐ §
¡
¨CÓ0×9Ñ9Ô;à�;‰;‹=˜BŸK™K›MÕ4¨WÓ4Ð4Ñ4Ð4Ð4äÐ §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÕ4¨WÓ4Ð4Ñ4Ð4Ñ4rP   ÚbackendÚsvgÚpsÚpgf)Úmarksc                 óB  • SSK Jn  SSKJn  [        R
                  " SU  35      nUR                  nU" SS9nU" U5        UR                  SS5      nU" SS9nU" U5        UR                  SS5      nUR                  5        V	s/ s H  o™R                  5       PM     n
n	UR                  R                  5         UR                  R                  5         UR                  5        V	s/ s H  o™R                  5       PM     nn	UR                  5        V	s/ s H  o™R                  5       PM     nn	[        X«5       H!  u  pÞ[        R                  " XÞSS	9(       d  M!   e   [        XË5       H%  u  nn[        R                  R                  UUSS	9  M'     g s  sn	f s  sn	f s  sn	f )
Nr   r   )ÚFigureCanvaszmatplotlib.backends.backend_T)Úconstrained_layoutr   g{®Gázt?)Úatol)Úmatplotlib.figurer   Úmatplotlib.backends.backend_aggr  Ú	importlibÚimport_moduler`   ÚravelÚget_positionrT   r¤   Úzipr%   ÚallcloseÚtestingÚassert_allclose)r  r   r  Útest_backendÚ
TestCanvasÚfig_testÚ	axes_testÚfig_aggÚaxes_aggrq   Úinit_posÚlayed_out_pos_testÚlayed_out_pos_aggÚinitÚplacedÚrefÚtests                    r:   Ú	test_drawr-  D  se  € õ
 )Ý<Ü×*Ò*Ð-IÈ'ÈÐ+SÓT€LØ×*Ñ*€JÙ¨Ñ.€HÙˆxÔØ×!Ñ! ! QÓ'€Iñ ¨Ñ-€Gá�ÔØ×Ñ  1Ó%€Hà,5¯O©OÔ,=Ó>Ò,= b—‘Ö!Ñ,=€HÐ>à‡O�O×ÑÔØ‡N�N×ÑÔà6?·o±oÔ6GÓHÒ6G°Ÿ/™/Ö+Ñ6GÐÐHØ5=·^±^Ô5EÓFÒ5E¨rŸ™Ö*Ñ5EÐÐFä˜HÖ9‰ˆÜ—;’;˜t°%×8Ñ8Ð8Ð8ñ :ô Ð*Ö?‰	ˆˆTÜ
�
‰
×"Ñ" 3¨°5Ð"Ó9ò @ùò ?ùò
 IùÚFs   ÂFÃ%FÄFz&key,mouseend,expectedxlim,expectedylim))N©çš™™™™™É?r/  ©gìQ¸…ë@g{®Gáú(@©gš™™™™™@gffffff'@)N)r/  r�   r0  ©r   é	   )N)r�   r/  r2  r1  )Nr¡   r2  r2  )N©r°   ç      Ð?©gÃõ(\�ÂÀg…ëQ¸@©g      @g     €&@)N©r/  r5  r0  r7  )N)r°   ç333333ë?r6  ©g…ëQ¸	Àgq=
×£p@)N©r/  r9  r0  r:  )Úshift)r/  çš™™™™™Ù?r0  r2  )r<  ©r=  r/  r2  r1  )r<  r8  r0  r0  )r<  r4  r6  )gÃõ(\�Â@gq=
×£ð(@)r<  )r°   gÍÌÌÌÌÌì?©g¤p=
×£Àg¤p=
×£@r?  )r<  r;  r0  )gìQ¸…ëÀg
×£p=
@)r{   )r/  r¯   r0  r2  )r   )r¯   r/  r2  r1  )Úcontrolr.  r0  r0  )r@  r>  ©gÃõ(\�Â@gq=
×£p'@rA  c                 ó¤  • [         R                  " 5       u  pEUR                  [        R                  " S5      5        UR                  5       (       d   eUR                  S5        SnUR                  R                  U5      R                  [        5      nUR                  R                  U5      R                  [        5      n[        SUR                  /UQ7[        R                  U S.6n	[        SUR                  /UQ7[        R                  U S.6n
[        UR                  5      nUR!                  5         UR#                  U	5        UR%                  U
5        UR'                  U
5        [)        UR+                  5       5      [,        R.                  " USS9:X  d   e[)        UR1                  5       5      [,        R.                  " USS9:X  d   eg )	Nr   Úequalr¡   r    )rï   r™   r±   g{®Gáz”?rä   )rS   r`   rÎ   r%   rC   rç   Ú
set_aspectr¸   r¨   r¹   r~   r	   rT   r   r©   r
   rÐ   rë   rì   rí   Útupler¶   rb   rÀ   r·   )r™   ÚmouseendÚexpectedxlimÚexpectedylimr[   rq   Ú
mousestartÚsstartÚsendrÊ   rË   rÃ   s               r:   Útest_interactive_panrL  f  sl  € ô, �lŠl‹n�G€CØ‡G�GŒB�IŠI�b‹MÔØ�?‰?×ÑÐÐà‡M�M�'Ôð €Jð �\‰\×#Ñ# JÓ/×6Ñ6´sÓ;€FØ�<‰<×!Ñ! (Ó+×2Ñ2´3Ó7€Dô Ø˜cŸj™jðØ+1ñÜ:E×:JÑ:JØò€Kô Ø §
¡
ðØ-1ñÜ:E×:JÑ:JØò€Jô 
˜CŸJ™JÓ	'€BØ‡F�F„HØ‡L�L�ÔØ‡K�K�
ÔØ‡N�N�:Ôä�—‘“Ó¤6§=¢=°À4Ñ#HÓHÐHÐHÜ�—‘“Ó¤6§=¢=°À4Ñ#HÓHÐHÑHrP   c                  óÀ  • [         R                  " [        [        S9   S[        R
                  S'   S S S 5        [        R                  " 5       n [        U R                  R                  R                  R                  5      nSU R                  R                  R                  R                  ;   d   eU R                  R                  R                  R                  S5        [        U R                  R                  R                  R                  5      US-
  :X  d   eSU R                  R                  R                  R                  ;  d   eg ! , (       d  f       GN#= f)Nrø   rú   rû   Úforwardr   )rb   rc   rd   rý   rS   rþ   rh   r"   rT   r  rú   ÚtoolsÚremove_tool)r[   Úinitial_lens     r:   Útest_toolmanager_removerR  œ  sí   € Ü	�Š”kÔ)FÓ	GØ"/Œ�‰�YÑ÷ 
Hä
�'Š'‹)€CÜ�c—j‘j×(Ñ(×4Ñ4×:Ñ:Ó;€KØ˜Ÿ
™
×*Ñ*×6Ñ6×<Ñ<Ó<Ð<Ð<Ø‡J�J×Ñ×"Ñ"×.Ñ.¨yÔ9Üˆs�z‰z×!Ñ!×-Ñ-×3Ñ3Ó4¸Àa¹ÓGÐGÐGØ˜CŸJ™J×.Ñ.×:Ñ:×@Ñ@Ó@Ð@Ñ@÷ 
HÖ	Gús   žEÅ
Ec                  ó²  • [         R                  " [        [        S9   S[        R
                  S'   S S S 5        [        R                  " 5       n U R                  R                  R                  R                  S5      n[        U[        5      (       d   eU R                  R                  R                  R                  U5      UL d   e[         R                  " [        SS9   U R                  R                  R                  R                  S5      b   e S S S 5        U R                  R                  R                  R                  SSS9b   e[         R                  " [        SS9   U R                  R                  R                  R                  S5      b   e S S S 5        g ! , (       d  f       GNz= f! , (       d  f       N§= f! , (       d  f       g = f)	Nrø   rú   rû   Ú
rubberbandz'ToolManager does not control tool 'foo'rz   F)Úwarn)rb   rc   rd   rý   rS   rþ   rh   rT   r  rú   Úget_toolrM   r   r  )r[   rT  s     r:   Útest_toolmanager_get_toolrW  §  sb  € Ü	�Š”kÔ)FÓ	GØ"/Œ�‰�YÑ÷ 
Hä
�'Š'‹)€CØ—‘×#Ñ#×/Ñ/×8Ñ8¸ÓF€JÜ�j¤.×1Ñ1Ð1Ð1Ø�:‰:×Ñ×)Ñ)×2Ñ2°:Ó>À*ÒLÐLÐLÜ	�Š”kØEó
Gà�z‰z×!Ñ!×-Ñ-×6Ñ6°uÓ=ÑEÐEÑE÷
Gð �:‰:×Ñ×)Ñ)×2Ñ2°5¸uÐ2ÐEÑMÐMÐMä	�Š”kØEó
Gà�z‰z×!Ñ!×-Ñ-×:Ñ:¸5ÓAÑIÐIÑI÷
Gð 
G÷ 
HÖ	Gú÷
Gõ 
Gú÷

Gõ 
Gús#   žF%Ã"3F7Å(3GÆ%
F4Æ7
GÇ
Gc                  ó&  • [         R                  " [        [        S9   S[        R
                  S'   S S S 5        [        R                  " 5       n SU R                  R                  R                  R                  S5      ;   d   e[         R                  " [        SS9   U R                  R                  R                  R                  SS5        S S S 5        U R                  R                  R                  R                  S5      S/:X  d   e[         R                  " [        SS9   U R                  R                  R                  R                  S	S5        S S S 5        g ! , (       d  f       GN4= f! , (       d  f       N©= f! , (       d  f       g = f)
Nrø   rú   rû   ÚvrN  z"Key c changed from back to forwardÚcz'foo' not in Toolsrz   )rb   rc   rd   rý   rS   rþ   rh   rT   r  rú   Úget_tool_keymapÚupdate_keymapÚraisesÚKeyError)r[   s    r:   Útest_toolmanager_update_keymapr_  ¸  s  € Ü	�Š”kÔ)FÓ	GØ"/Œ�‰�YÑ÷ 
Hä
�'Š'‹)€CØ�#—*‘*×$Ñ$×0Ñ0×@Ñ@ÀÓKÓKÐKÐKÜ	�Š”kØ@ó
Bà�
‰
×Ñ×&Ñ&×4Ñ4°YÀÔD÷
Bð �:‰:×Ñ×)Ñ)×9Ñ9¸)ÓDÈÈÓMÐMÐMÜ	�Š”xÐ';Ó	<Ø�
‰
×Ñ×&Ñ&×4Ñ4°U¸CÔ@÷ 
=Ð	<÷ 
HÖ	Gú÷
Bõ 
Bú÷ 
=Õ	<ús#   žEÂ1E1Ä%1FÅ
E.Å1
E?Æ
Frî   rï   Ú	patch_visTFÚforward_nav)TFÚautoÚt_sÚtwinÚsharec                 óî  • [         R                  " 5       u  pVUR                  SSS9nUR                  U5        UR                  R                  U5        US:X  ag  UR                  S5      nUR                  U5        UR                  U5        UR                  S5      n	U	R                  U5        U	R                  U5        O&US:X  a   UR                  5       nUR                  5       n	UR                  S5        UR                  R                  S	5        WR                  S
5        UR                  R                  S5        UR                  S5        UR                  R                  S5        W	R                  S5        U	R                  R                  S5        Su  p«Xv4 H!  nUR                  " U
6   UR                  " U6   M#     Su  pÞnnUR                  R                  Xß45      R                  [         5      nUR                  R                  UU45      R                  [         5      nUR                  R#                  5       R                  U5      u  nnUR                  R#                  5       R                  U5      u  nn[%        SUR&                  /UQUP76 n[%        SUR&                  /UQUP76 n[)        UR&                  5      nU S:X  Gaû  US:X  a  SOSnUR+                  / UQUQU5      u  nnUR-                  5       SL a  UR+                  / UQUQU5      u  nnOUUR-                  5       SL a  U
nUnO=UR                  R/                  5       (       d  UR+                  / UQUQU5      u  nnOU
nUnUR1                  5         UR3                  U5        UR5                  U5        UR7                  U5        UR9                  5       [:        R<                  " USS9:X  d   eUR?                  5       [:        R<                  " USS9:X  d   eUR9                  5       [:        R<                  " USS9:X  d   eUR?                  5       [:        R<                  " USS9:X  d   eUR9                  5       [:        R<                  " UR9                  5       SS9:X  d   eUR9                  5       [:        R<                  " U	R9                  5       SS9:X  d   eg UR@                  " / UQUP76   URB                  " US /UQ76 RD                  R                  [F        5      u  nnURI                  5         UR-                  5       SL aY  UR@                  " / UQUP76   URB                  " US /UQ76 RD                  R                  [F        5      u  nnURI                  5         O”UR-                  5       SL a  U
nUnO|UR                  R/                  5       (       dY  UR@                  " / UQUP76   URB                  " US /UQ76 RD                  R                  [F        5      u  nnURI                  5         OU
nUnURK                  5         URM                  U5        URO                  U5        URQ                  U5        UR9                  5       [:        R<                  " USS9:X  d   eUR?                  5       [:        R<                  " USS9:X  d   eUR9                  5       [:        R<                  " USS9:X  d   eUR?                  5       [:        R<                  " USS9:X  d   eUR9                  5       [:        R<                  " UR9                  5       SS9:X  d   eUR9                  5       [:        R<                  " U	R9                  5       SS9:X  d   eg )NéÝ   éc   )Úzorderre  éÞ   éß   rd  Úax_t)r   r   r   r�   Ú	ax_t_twinÚrÚax_b)r   r   r   r�   Ú	ax_b_twinÚb)rˆ   rˆ   )r   r   r   r   r    r±   rµ   r   ÚinÚoutTFrã   rä   ))rS   r`   Úadd_subplotÚset_forward_navigation_eventsÚpatchÚset_visibleÚsharexÚshareyrŒ   Ú	set_labelÚset_facecolorÚset_xlimÚset_ylimr¸   r¨   r¹   r~   Úinvertedr	   rT   r
   Ú_prepare_view_from_bboxÚget_forward_navigation_eventsÚget_visiblerµ   rè   ré   rê   r¶   rb   rÀ   r·   Ú	start_panÚ_get_pan_pointsÚTÚfloatÚend_panrÐ   rë   rì   rí   )rî   rï   r`  ra  rc  r[   ro  rl  rm  rp  Ú	init_xlimÚ	init_ylimrq   Úxstart_tÚxstop_tÚystart_tÚystop_trÈ   rÉ   Úxstart_bÚystart_bÚxstop_bÚystop_brÊ   rË   rÃ   Ú	directionÚxlim_tÚylim_tÚxlim_bÚylim_bs                                  r:   Ú test_interactive_pan_zoom_eventsr–  Å  s  € ô —’“�I€CØ�?‰?˜3 rˆ?Ð*€DØ×&Ñ& {Ô3Ø‡J�J×Ñ˜9Ô%ð ˆgƒ~Ø—O‘O CÓ(ˆ	Ø×Ñ˜ÔØ×Ñ˜Ôà—O‘O CÓ(ˆ	Ø×Ñ˜ÔØ×Ñ˜ÕØ	�‹Ø—J‘J“Lˆ	Ø—J‘J“Lˆ	ð 	‡N�N�6ÔØ‡J�J×Ñ˜^Ô,à×Ñ˜Ô$Ø‡O�O×!Ñ! #Ô&à‡N�N�6ÔØ‡J�J×Ñ˜^Ô,à×Ñ˜Ô$Ø‡O�O×!Ñ! #Ô&ð
 ,Ñ€IØ‹lˆØ
�Š�YÑØ
�Š�YÓñ ð
 ,6Ñ(€H�x ð 
�‰×	!Ñ	! 8Ð"6Ó	7×	>Ñ	>¼sÓ	C€BØ	�‰×	!Ñ	! 7¨GÐ"4Ó	5×	<Ñ	<¼SÓ	A€Bð Ÿ™×0Ñ0Ó2×<Ñ<¸RÓ@Ñ€HˆhØ—~‘~×.Ñ.Ó0×:Ñ:¸2Ó>Ñ€GˆWô Ð1°3·:±:ÐKÀÐKÀFÒK€KÜÐ2°C·J±JÐLÀÐLÀVÒL€Jä	˜CŸJ™JÓ	'€Bàˆv„~à# q›[‘T¨eˆ	à×5Ñ5°j¸°j¸R°jÀ)ÓL‰ˆ�à×-Ñ-Ó/°4Ò7Ø!×9Ñ9¸*¸B¸*À¸*ÀiÓP‰NˆF‘FØ×/Ñ/Ó1°UÒ:ØˆFØ‰Fà—:‘:×)Ñ)×+Ñ+Ø!%×!=Ñ!=¸jÀ¸jÀR¸jÈ)Ó!T‘�™à"�Ø"�à
�‰Œ	Ø
�‰�kÔ"Ø
�‰�ZÔ Ø
�‰˜
Ô#à�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAð �}‰}‹¤&§-¢-°	×0BÑ0BÓ0DÈ$Ñ"OÓOÐOÐOØ�}‰}‹¤&§-¢-°	×0BÑ0BÓ0DÈ$Ñ"OÓOÐOÑOð 	�ŠÐ#˜Ð#˜FÓ#Ø×-Ò-¨f°dÐ@¸RÒ@×BÑB×IÑIÌ%ÓP‰ˆ�Ø�‰Œà×-Ñ-Ó/°4Ò7Ø�NŠNÐ'˜BÐ' Ó'Ø!×1Ò1°&¸$ÐDÀÒD×FÑF×MÑMÌeÓT‰NˆF�FØ�L‰L�NØ×/Ñ/Ó1°UÒ:ØˆFØ‰Fà—:‘:×)Ñ)×+Ñ+Ø—’Ð+ Ð+ FÓ+Ø!%×!5Ò!5°f¸dÐ!HÀRÒ!H×!JÑ!J×!QÑ!QÔRWÓ!X‘�˜Ø—‘•à"�Ø"�à
�‰ŒØ
�‰�[Ô!Ø
�‰�JÔØ
�‰�zÔ"à�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAØ�}‰}‹¤&§-¢-°¸DÑ"AÓAÐAÐAð �}‰}‹¤&§-¢-°	×0BÑ0BÓ0DÈ$Ñ"OÓOÐOÐOØ�}‰}‹¤&§-¢-°	×0BÑ0BÓ0DÈ$Ñ"OÓOÐOÑOrP   )3r  Ú
matplotlibr   r   Úmatplotlib.backend_basesr   r   r   r   r	   r
   r   Úmatplotlib.backend_toolsr   r  r   Úmatplotlib.testing._markersr   Úmatplotlib.pyplotÚpyplotrS   Únumpyr%   rb   rý   rJ   rQ   rV   r\   Úmarkr  rk   rr   Úparametrizer†   rŽ   rª   rÌ   rÑ   r©   r¿   rö   r  r  Úparamr-  rL  rR  rW  r_  r–  rO   rP   r:   Ú<module>r¡     sž  ðÛ ç '÷&÷ &ñ &õ 4Ý $Ý 9Ý ã Û ð9ð ò%LòP9òEò-ð ‡�×Ñ�UÓñ(ó ð(ò$,ð ‡�×ÑØ
ÒNóPñ>óPð>ò,Fòò&-Eò`*ð ‡�×Ñ˜ x°Ð&<Ó=Ø‡�×Ñ˜¨°\Ð(BÓCØ‡�×ÑÐ/Ø! ;×#3Ñ#3°VÐ<Ø! ;×#4Ñ#4°iÐ@Ø  +×"2Ñ"2°GÐ<Ø  +×"3Ñ"3°\ÐBðDóEñ
3CóEó Dó >ð3Còl	+ò5ð< ‡�×ÑØ��t˜UØ—’˜UÐ*;Ñ<ð>óñ:ó	ð:ð< ‡�×ÑØ,òóñ*Ió+ð*IòBAòJò"
Að ‡�×Ñ˜ &¨% Ó1Ø‡�×Ñ˜ K×$4Ñ$4°k×6GÑ6GÐ#HÓIØ‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜Ò(=Ó>Ø‡�×Ñ˜ ¨Ð 1Ó2ñ}Pó 3ó ?ó 5ó Jó 2ñ
}PrP   