Ë
    µ2ÚiÄ ã                   óÚ  — d dl Z d dlZd dl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 d dlmZ d dlmZmZ d dlmZmZmZmZmZ d dlZd dlm Z  d dl!Z!e!jD                  d	„ «       Z#d
„ Z$e!jJ                  jM                  d e'«        e'dd¬«       e'ddd¬«       e' e'd¬«      ¬«      g«      d„ «       Z(e!jJ                  jM                  dddg«      e!jJ                  jM                  dd dgddgddgg«      e!jJ                  jM                  dd dgddgddgg«      d„ «       «       «       Z)d„ Z*e!jJ                  jM                  dddgdd gg«      d!„ «       Z+d"„ Z,d#„ Z-d$„ Z.e!jJ                  jM                  d%ddg«      d&„ «       Z/e!jJ                  jM                  d%ddg«      d'„ «       Z0d(„ Z1e!jJ                  jM                  d)ejd                  ejf                  g«      d*„ «       Z4d+„ Z5e!jJ                  jM                  d,ddg«      d-„ «       Z6d.„ Z7d/„ Z8e!jJ                  jM                  d0ddg«      d1„ «       Z9e!jJ                  jM                  d2ddg«      d3„ «       Z:e!jJ                  jM                  d4d5d e'dd¬6«      fd7d e'd¬8«      fd5d e' e'd¬«      ¬«      fd5d e'd¬9«      fg«      d:„ «       Z;e!jJ                  jM                  d0ddg«      d;„ «       Z<e!jJ                  jM                  d2ddg«      d<„ «       Z=e!jJ                  jM                  d=ddg«      d>„ «       Z>d?„ Z?d@„ Z@e!jJ                  jM                  dAdBdCg«      dD„ «       ZAe!jJ                  jM                  dAdBdCg«      dE„ «       ZBdF„ ZCdG„ ZDe!jJ                  jM                  dHdI«      dJ„ «       ZEe!jJ                  j�                  dKd¬L«      dM„ «       ZGdN„ ZHdO„ ZIe!jJ                  jM                  d e'«        e'd e'dP¬Q«      ¬R«       e'dd¬«      g«      dS„ «       ZJdT„ ZKdU„ ZLe!jJ                  jM                  dVg dW¢«      dX„ «       ZM edYgdZd¬[«      d\„ «       ZN ed]g¬^«      d_„ «       ZO ed]g¬^«      d`„ «       ZPda„ ZQ ed]g¬^«      db„ «       ZR ed]g¬^«      dc„ «       ZS ed]g¬^«      dd„ «       ZT ed]g¬^«      de„ «       ZU ed]g¬^«      df„ «       ZVdg„ ZWdh„ ZXdi„ ZYdj„ ZZdk„ Z[dl„ Z\e!jJ                  jM                  dmd5d7g«      dn„ «       Z]e!jJ                  jM                  dmd5d7g«      do„ «       Z^dp„ Z_dq„ Z`dr„ Zae!jJ                  jM                  dsddg«      dt„ «       Zbe!jJ                  jM                  dsddg«      du„ «       Zc e«       dv„ «       Zde!jJ                  jM                  dwg dx¢«      e!jJ                  jM                  dsddg«      dy„ «       «       Zee!jJ                  jM                  dsddg«      dz„ «       Zfe!jJ                  jM                  dsddg«      d{„ «       Zge!jJ                  jM                  dsddg«       ed]g¬^«      d|„ «       «       Zhd}„ Zid~„ Zje!jJ                  jM                  dddg«      e!jJ                  jM                  d€ddg«      d�„ «       «       Zky)‚é    N)Úmock)Ú
MouseEvent)Ú	Rectangle)ÚLine2D)Úcheck_figures_equalÚimage_comparison)Úclick_and_dragÚdo_eventÚget_axÚ
mock_eventÚnoop)Úassert_allclosec                  ó   — t        «       S ©N)r   © ó    úT/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/tests/test_widgets.pyÚaxr      s	   € ä‹8€Or   c            
      ó`  — ddl m} m} ddlm}  |«       dvrt        j                  d«       t        j                  dddddg¬	«      \  }} ||d
   ddg«      } ||d   ddgddgddgdœddgddgdœ¬«      } | |d   ddgddg¬«      } | |d   ddgddgddgddgdœddgddgdœdddgi¬«      }|d
   j                  d«       |d   j                  d «       |j                  j                  «        t        j                  «       5 }	|j                  |	d!¬"«       d d d «       y # 1 sw Y   y xY w)#Nr   )ÚCheckButtonsÚRadioButtons)Ú"_get_running_interactive_framework)ÚheadlessNz-Callback exceptions are not raised otherwise.é   )é   r   é   )ÚnrowsÚncolsÚfigsizeÚwidth_ratios©r   r   ÚApplesÚOranges©r   r   ÚredÚorangeé   é   ©ÚcolorÚfontsizeÚ	mistyroseÚ	peachpuff©Ú	edgecolorÚ	facecolor©Úlabel_propsÚradio_props)r   r   T)Úactives)r   r   r*   ÚdarkredÚ
darkorange)r4   r2   Úframe_propsÚcheck_propsÚDefaultÚStylizedÚpdf)Úformat)Úmatplotlib.widgetsr   r   Úmatplotlib.cbookr   ÚpytestÚxfailÚpltÚsubplotsÚ	set_titleÚcanvasÚdrawÚioÚBytesIOÚsavefig)
r   r   r   Úfigr   Ú
default_rbÚ	styled_rbÚ
default_cbÚ	styled_cbÚresult_afters
             r   Útest_save_blitted_widget_as_pdfrO      sq  € ß=ÝCÙ)Ó+Ð3EÑEÜ�‰ÐDÔEä�l‰lØ�q &¸¸1°vô�G€Cˆñ ˜b ™h¨°9Ð(=Ó>€JÙØ
ˆ4‰�8˜YÐ'Ø$ hÐ/Ø"$ b ñ+à#(¨(Ð"3Ø#.°Ð"<ñ>ô	€Iñ ˜b ™h¨°9Ð(=Ø'+¨T lô4€JáØ
ˆ4‰�8˜YÐ'Ø�t�Ø$ hÐ/Ø"$ b ñ+à#(¨(Ð"3Ø#.°Ð"<ñ>à˜y¨,Ð7Ð8ô€Ið €t�H×Ñ�yÔ!Ø€t�H×Ñ�zÔ"à‡J�J‡O�OÔä	�‰‹ð 0˜Ø�‰�L¨ˆÔ/÷0÷ 0ñ 0ús   ÄD$Ä$D-ÚkwargsTr   )ÚuseblitÚbuttoné
   Úpixels)ÚminspanxÚminspanyÚ
spancoords)Úfill©Úpropsc                 ó  — t        j                  t        d ¬«      }t        j                  | |fi |¤Ž}t        |dddd¬«       t        |dddd¬«       t        |dd	d	d¬«       |j                  d
d «      dvr(t        |j                  g d¢g d¢g|j                  ¬«       |j                  «        |j                  \  \  }}}|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|i k(  sJ ‚y )N©ÚspecÚreturn_valueÚpresséd   r   ©ÚxdataÚydatarR   ÚonmoveéÇ   Úreleaseéú   Údrawtype)ÚlineÚnone)ç      Y@r`   re   re   r`   )r`   re   re   r`   r`   )Úerr_msg)r   ÚMockr   ÚwidgetsÚRectangleSelectorr
   Úgetr   ÚgeometryÚassert_called_onceÚ	call_argsrb   rc   )r   rP   ÚonselectÚtoolÚepressÚereleases         r   Útest_rectangle_selectorrx   B   s  € ô �y‰yœd°Ô6€Hä×$Ñ$ R¨Ñ<°VÑ<€DÜˆT�7 #¨S¸Õ;ÜˆT�8 3¨c¸!Õ<ô ˆT�9 C¨s¸1Õ=à‡z�z�*˜dÓ#Ð+;Ñ;Ü˜Ÿ™Ú3Ú2ð4à $§¡õ	/ð
 ×ÑÔ!Ø!)×!3Ñ!3ÑÑ€VˆX˜Ø�<‰<˜3ÒÐÐØ�<‰<˜3ÒÐÐØ�>‰>˜SÒ Ð Ð Ø�>‰>˜SÒ Ð Ð Ø�RŠ<Ð‰<r   rW   Údatazminspanx, x1ç      %@é   zminspany, y1c                 óò  — t        j                  t        d ¬«      }d\  }}|dk(  r>| j                  j	                  ||f«      | j                  j	                  ||f«      z
  \  }}t        j                  | |d|||¬«      }	t        |	||f||f¬«       |	j                  rJ ‚|j                  «        t        |	dd¬«       |	j                  sJ ‚|j                  «        |j                  «        t        |	||f||f¬«       |	j                  rJ ‚|j                  «        |j                  \  \  }
}}|
j                  |k(  sJ ‚|
j                  |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  sJ ‚|i k(  sJ ‚y )	Nr\   ©rS   rS   rT   T)ÚinteractiverW   rU   rV   ©ÚstartÚend©r(   r(   ©é   r„   )r   rm   r   Ú	transDataÚ	transformrn   ro   r	   Ú_selection_completedÚassert_not_calledrr   Ú
reset_mockrs   rb   rc   )r   rW   rU   Úx1rV   Úy1rt   Úx0Úy0ru   rv   rw   rP   s                r   Útest_rectangle_minspanrŽ   a   s|  € ô
 �y‰yœd°Ô6€Hà�F€BˆØ�XÒØ Ÿl™l×4Ñ4°b¸"°XÓ>Ø Ÿl™l×4Ñ4°b¸"°XÓ>ñ?Ñˆ�(ô ×$Ñ$ R¨¸tØ0:Ø.6ÀôK€Dô �4  B˜x¨b°"¨XÕ6Ø×(Ò(Ð(Ð(Ø×ÑÔ ä�4˜x¨XÕ6Ø×$Ò$Ð$Ð$Ø×ÑÔ!ð ×ÑÔÜ�4  B˜x¨b°"¨XÕ6Ø×(Ò(Ð(Ð(Ø×ÑÔ!Ø!)×!3Ñ!3ÑÑ€VˆX˜Ø�<‰<˜2ÒÐÐØ�<‰<˜2ÒÐÐØ�>‰>˜RÒÐÐØ�>‰>˜RÒÐÐØ�RŠ<Ð‰<r   c                 óâ   — t        j                  | d„ «      }|j                  «       sJ ‚t        j                  t
        j                  d¬«      5  |j                   d d d «       y # 1 sw Y   y xY w)Nc                   ó   — y r   r   ©Úargss    r   ú<lambda>z=test_deprecation_selector_visible_attribute.<locals>.<lambda>ˆ   ó   � r   z was deprecated in Matplotlib 3.8©Úmatch)rn   ro   Úget_visibler?   ÚwarnsÚmplÚMatplotlibDeprecationWarningÚvisible©r   ru   s     r   Ú+test_deprecation_selector_visible_attributer�   ‡   s[   € Ü×$Ñ$ RÑ);Ó<€Dà×ÑÔÐÐä	�‰”c×6Ñ6Ø>ô
@ñ à�Š÷÷ ñ ús   ÁA%Á%A.zdrag_from_anywhere, new_center)é<   éK   F©r„   r(   c                 óø   — t        j                  | t        d|¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |dd¬«       |j                  |k(  sJ ‚t        |d	d
¬«       |j                  dk(  sJ ‚y )NT)rt   r~   Údrag_from_anywhere©r   rS   ©r`   éx   r   )é2   éA   ©é   é   ©é#   r©   ©é¯   é¹   ©r¯   éÃ   )é´   é¾   )rn   ro   r   r	   Úcenter)r   r¢   Ú
new_centerru   s       r   Útest_rectangle_dragr¶   ‘   s~   € ô ×$Ñ$ R´$ÀDØ8JôL€Dô �4˜w¨JÕ7Ø�;‰;˜(Ò"Ð"Ð"ô �4˜x¨XÕ6Ø�;‰;˜*Ò$Ð$Ð$ô �4˜z¨zÕ:Ø�;‰;˜*Ò$Ð$Ñ$r   c           	      ó~  — t        j                  | t        dt        dd¬«      t        d¬«      ¬«      }t	        |dd	¬
«       |j
                  }|j                  «       t        j                  dd¬«      k(  sJ ‚|j                  dd¬«       |j                  «       t        j                  dd¬«      k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  dd¬«       |j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ y )NTÚbçš™™™™™É?©r0   Úalphaç      à?©r»   )rt   r~   rZ   Úhandle_propsr£   r¤   r   Úrç333333Ó?Úblack)Úmarkeredgecolorr»   )rn   ro   r   Údictr	   Ú_selection_artistÚget_facecolorÚmcolorsÚto_rgbaÚ	set_propsÚ_handles_artistsÚget_markeredgecolorÚ	get_alphaÚset_handle_props©r   ru   Úartists      r   Ú.test_rectangle_selector_set_props_handle_propsrÏ   ©   s2  € Ü×$Ñ$ R´$ÀDÜ+/¸#ÀSÔ+IÜ26¸S´/ôC€Dô �4˜w¨JÕ7à×#Ñ#€FØ×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDØ‡N�N˜S¨€NÔ,Ø×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDà×'Ñ'ò )ˆØ×)Ñ)Ó+¨wÒ6Ð6Ð6Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ¨#°SÐÔ9Ø×'Ñ'ò )ˆØ×)Ñ)Ó+¨sÒ2Ð2Ð2Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|j                  }|d   |d   }}|d	z   |d
z   }}t        |||f||f¬«       |j                  |d   ||d   |fk(  sJ ‚|j                  }|d   |d   |d   |d   z
  dz  z   }}|d	z   |}}t        |||f||f¬«       |j                  |d   ||d   |d   fk(  sJ ‚|j                  }|d   |d   |d   |d   z
  dz  z   }}|dz   |}}t        |||f||f¬«       |j                  ||d   |d   |d   fk(  sJ ‚|j                  }|d   |d   }}|dz   |dz   }}t        |||f||f¬«       |j                  ||d   ||d   fk(  sJ ‚y )NT©rt   r~   r£   r¤   r   )ç        rk   ç      $@ç      ^@r   é   rS   r   r   r   rª   r(   r©   )rn   ro   r   r	   Úextents)r   ru   rÖ   rb   rc   Ú	xdata_newÚ	ydata_news          r   Útest_rectangle_resizerÙ   ¾   s÷  € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜w¨JÕ7Ø�<‰<Ð4Ò4Ð4Ð4ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ  2™: u¨q¡yˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜G A™J¨	°7¸1±:¸yÐIÒIÐIÐIð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ  2™: uˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜G A™J¨	°7¸1±:¸wÀq¹zÐJÒJÐJÐJð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ  2™: uˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜I w¨q¡z°7¸1±:¸wÀq¹zÐJÒJÐJÐJð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ  2™: u¨r¡zˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜I w¨q¡z°9¸gÀa¹jÐIÒIÐIÑIr   c                 óº  — t        j                  | t        d¬«      }t        |dd¬«       t	        j
                  t        «      5  |j                  d«       d d d «       t	        j
                  t        «      5  |j                  d«       d d d «       |j                  d«       |j                  d	«       |j                  d
«       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w)NTrÑ   ©éF   r§   ©é}   é‚   r   Úunsupported_stateÚclearÚmoveÚsquarer´   )rn   ro   r   r	   r?   ÚraisesÚ
ValueErrorÚ	add_staterœ   s     r   Útest_rectangle_add_staterç   á   s£   € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8ä	�‰”zÓ	"ñ ,Ø�‰Ð*Ô+÷,ô 
�‰”zÓ	"ñ  Ø�‰�wÔ÷ à‡N�N�6ÔØ‡N�N�8ÔØ‡N�N�8Õ÷,ð ,ú÷ ð  ús   ÁCÁ7CÃCÃCræ   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|r|j                  d«       d }nd}|j                  }|d	   |d
   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |z
  |
fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |d
   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |d
   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |d   |d
   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |d   |d
   fk(  sJ ‚|j                  }|d   |d   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |
|d
   |z
  fk(  sJ ‚y )NTrÑ   rÛ   rÝ   r   )ç     €Q@ç     @_@ç     @P@g     @`@r´   Úcontrolr   rÕ   ©rS   r   ©r€   r�   Úkeyr   r   rS   éìÿÿÿrª   éçÿÿÿ©r(   r©   ©rn   ro   r   r	   rÖ   ræ   ©r   ræ   ru   Úuse_keyrÖ   rb   rc   ÚxdiffÚydiffr×   rØ   s              r   Útest_rectangle_resize_centerrø   ð   sª  € ä×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5áØ�‰�xÔ Ø‰àˆð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨Ñ.°	ð;ò ;ð ;ð ;ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø% w¨q¡z°EÑ'9ð;ò ;ð ;ñ ;r   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|r|j                  d«       d }nd}|j                  }|d	   |d
   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |d   |d
   |z
  fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |d   |d
   |z
  fk(  sJ ‚|j                  }|d   |d   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |z   |d	   |
|d
   fk(  sJ ‚y )NTrÑ   rÛ   ©r¥   és   r   ©ré   rÔ   rë   g     À\@rã   Úshiftr   rÕ   rí   rî   r   r   rS   rð   rª   rñ   rò   ró   rô   s              r   Útest_rectangle_resize_squarerþ   :  s¨  € ä×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5áØ�‰�xÔ Ø‰àˆð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡zØ# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡zØ# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°¸±
Ø% w¨q¡zð3ò 3ð 3ñ 3r   c                 ó´  — t        j                  | t        d¬«      }t        |dd¬«       |j	                  d«       |j	                  d«       t        |j                  d«       |j                  }|d	   |d
   }}d\  }}||z   ||z   }}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  ||d	   |z
  |d   |z   |d
   |z
  f«       |j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  ||d	   |z
  |d   |z   |d
   |z
  f«       |j                  }|d   |d   }}d\  }}||z   ||z   }}t        |||f||f¬«       t        |j                  |d   |z   |d	   |z
  ||d
   |z
  f«       y )NTrÑ   rÛ   rú   r   rã   r´   rü   r   rÕ   rí   r   r   rS   rð   r   rñ   rò   )rn   ro   r   r	   ræ   r   rÖ   )	r   ru   rÖ   rb   rc   rö   r÷   r×   rØ   s	            r   Ú#test_rectangle_resize_square_centerr   „  s�  € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø‡N�N�8ÔØ‡N�N�8ÔÜ�D—L‘LÐ"<Ô=ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 9¨g°a©j¸5Ñ.@Ø#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 9¨g°a©j¸5Ñ.@Ø#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°w¸q±zÀEÑ7IØ#,¨g°a©j¸5Ñ.@ð#Bõ Cr   Úselector_classc                 óJ  —  || t         d¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd	¬
«       |j                  dhk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd¬«       t        |dd	¬
«       t        |j                  «      dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  dd¬«       d|_        |j                  dk(  sJ ‚t        |j                  t        j                  g d¢g d¢g«      d¬«       t        |dd¬«       t        |j                  dd¬«       |t        j                  k(  r4t        j                  t        «      5  d|j                   _        d d d «       y y # 1 sw Y   y xY w)NTrÑ   ©r`   r`   ©rß   éŒ   r   ©r`   rß   r`   r  r   Úon_key_pressr¿   ©rï   Úrotater   )r¥   é‘   g�Âõ(\�9@g{®Gáz„?)Úatolé-   )gR¸…ë¡]@ç     xa@g=
×£pÝ[@g     �V@)g     ÐW@g=
×£p]@g     b@gÃõ(\�â^@)én   r
  )r  é    )r`   r  r`   g
×£p=úb@Úunvalid_value)r   r	   rÖ   ÚlenÚ_stater
   r   ÚrotationÚcornersÚnpÚarrayrn   ro   r?   rä   rå   rÄ   Úrotation_point)r   r  ru   s      r   Útest_rectangle_rotater  Ã  s�  € ñ ˜"¤t¸Ô>€Dä�4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/Üˆt�{‰{Ó˜qÒ Ð Ð ô ˆT�> sÕ+Ø�;‰;˜8˜*Ò$Ð$Ð$Üˆt�{‰{Ó˜qÒ Ð Ð Ü�4˜z¨zÕ:ÜˆT�> sÕ+Üˆt�{‰{Ó˜qÒ Ð Ð à�<‰<Ð/Ò/Ð/Ð/Ü�D—M‘M 5¨tÕ4Ø€D„MØ�=‰=˜BÒÐÐä�D—L‘LÜ—H‘HÒ=Ú=ð?ó @ØFJõLô
 �4˜z¨zÕ:Ü�D—L‘LÐ"<À4ÕHàœ×2Ñ2Ò2Ü�]‰]œ:Ó&ñ 	DØ4CˆD×"Ñ"Ô1÷	Dð 	Dð 3÷	Dð 	Dús   Å=FÆF"c                 óh  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚dD ]X  }|j                  |«       t        |j                  «      d	k(  sJ ‚|j                  |«       t        |j                  «      dk(  rŒXJ ‚ y )
NTrÑ   r  r  r   r  r   )r	  rã   r´   r   )	rn   ro   r   r	   rÖ   r  r  ræ   Úremove_state)r   ru   Ústates      r   Útest_rectangle_add_remove_setr  æ  s£   € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/Üˆt�{‰{Ó˜qÒ Ð Ð Ø/ò %ˆØ�‰�uÔÜ�4—;‘;Ó 1Ò$Ð$Ð$Ø×Ñ˜%Ô Ü�4—;‘;Ó 1Ó$Ð$Ð$ñ	%r   Úuse_data_coordinatesc                 óª  — | j                  d«       t        j                  | t        d|¬«      }t	        |dd¬«       |j
                  dk(  sJ ‚|j                  d«       |j                  d	«       |r|j
                  }|d
   |d   |d
   |d   z
  }}}d|d   |d   |d   z
  dz  z   }}||z   |}
}	|dz  |z   }t	        |||f|	|
f¬«       t        |j
                  |d   |z
  |	||z
  ||z   g«       y |j
                  }|d
   |d   }}d}||z   |}
}	|d
z  |j                  z  }t	        |||f|	|
f¬«       t        |j
                  |d   |z
  |	ddg«       y )Nçš™™™™™é?T)rt   r~   r  rÛ   rú   r   rü   rã   r´   r   rÕ   r   rS   r   g      G@g     ¸`@)	Ú
set_aspectrn   ro   r   r	   rÖ   ræ   r   Ú_aspect_ratio_correction)r   r  ru   rÖ   rb   rc   Úwidthrö   Úycenterr×   rØ   Úychanges               r   Ú*test_rectangle_resize_square_center_aspectr%  ó  s�  € à‡M�M�#Ôä×$Ñ$ R´$ÀDØ:NôP€Dô �4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5Ø‡N�N�8ÔØ‡N�N�8Ôáà—,‘,ˆØ% a™j¨'°!©*°g¸a±jÀ7È1Á:Ñ6M�eˆuˆØ˜g a™j¨G°A©J¸À¹Ñ,CÀqÑ+HÑHˆwˆØ$ u™}¨e�9ˆ	Ø˜!‘)˜eÑ#ˆÜ�t E¨5 >¸	À9Ð7MÕNÜ˜Ÿ™ w¨q¡z°EÑ'9¸9Ø'.°Ñ'8¸'ÀGÑ:Kð'Mõ 	Nð —,‘,ˆØ˜q‘z 7¨1¡:ˆuˆØˆØ$ u™}¨e�9ˆ	Ø˜!‘)˜d×;Ñ;Ñ;ˆÜ�t E¨5 >¸	À9Ð7MÕNÜ˜Ÿ™ w¨q¡z°EÑ'9¸9Ø',¨fð'6õ 	7r   c                 ó:  — t        j                  | t        dd¬«      }d|_        t	        |dd¬«       |j                  dk(  sJ ‚t	        |d	dd
¬«       |j                  dk(  sJ ‚t	        |ddd¬«       |j                  D �cg c]  }t        |«      ‘Œ }}|g d¢k(  sJ ‚t	        |d	dd¬«       |j                  D �cg c]  }t        |«      ‘Œ }}|g d¢k(  sJ ‚|j                  j                  dk(  sJ ‚t        |j                  dd…df   ddg«       yc c}w c c}w )z'For ellipse, test out the key modifiersrS   T)rt   Ú
grab_ranger~   ©r`   é–   r`   r)  ©rÞ   rÞ   )r
  r
  r   )r¥   éª   r¥   r+  r  rì   rî   )rŸ   rÞ   rŸ   rÞ   r}   )r¬   r„   rý   )rS   r¬   rS   r¬   rÝ   z
ctrl+shift)rÜ   rß   rÜ   rß   )r   éI   Nr   ré   r`   )	rn   ÚEllipseSelectorr   rÖ   r	   Úintrq   Úshaper   )r   ru   ÚerÖ   s       r   Útest_ellipser1    s  € ä×"Ñ" 2´Ø.0¸dôD€Dà'€D„Lô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨z¸yÕIØ�<‰<Ð-Ò-Ð-Ð-ô �4˜x¨X¸7ÕCØ#Ÿ|™|Ö,˜!Œs�1�vÐ,€GÐ,ØÒ&Ò&Ð&Ð&ô �4˜z¨z¸|ÕLØ#Ÿ|™|Ö,˜!Œs�1�vÐ,€GÐ,ØÒ(Ò(Ð(Ð(à�=‰=×Ñ 'Ò)Ð)Ð)Ü�D—M‘M¢! Q $Ñ'¨#¨s¨Õ4ùò -ùò
 -s   ÂDÂ;Dc           	      óž  — t        j                  | t        dddddœ¬«      }d|_        t	        |j
                  d«       |j                  dk(  sJ ‚t	        |j                  d	«       |j                  dk(  sJ ‚t        |d
d¬«       |j                  dk(  sJ ‚t        |dd¬«       |j                  dk(  sJ ‚t        |dd
¬«       |j                  dk(  sJ ‚t        j                  |j                  j                  d   j                  «       d«      sJ ‚t        j                  |j                  j                  d   j                  «       d«      sJ ‚y )NrS   Tr¿   r¸   )ÚmarkerfacecolorrÂ   )rt   r'  r~   r¾   r(  ))r`   r)  r)  r`   )r`   r`   r)  r)  ))r`   rê   r)  rê   )rê   r`   rê   r)  r  )r¥   r¥   r   )r¥   r)  r¥   r)  )é„   r4  )él   éŠ   r5  r6  r}   )rS   r`   rS   r`   r   )rn   ro   r   rÖ   r   r  Úedge_centersr	   rÆ   Ú
same_colorÚ_corner_handlesÚartistsÚget_markerfacecolorrÊ   rœ   s     r   Útest_rectangle_handlesr<  1  sT  € Ü×$Ñ$ R´$Ø02Ø15ØFIØFIñ3KôL€Dð
 (€D„Lä�D—L‘LÐ"NÔOØ�<‰<Ð/Ò/Ð/Ð/Ü�D×%Ñ%ØHôJà�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜x¨ZÕ8Ø�<‰<Ð-Ò-Ð-Ð-ô ×ÑØ×Ñ×$Ñ$ QÑ'×;Ñ;Ó=¸sôDð Dð Dä×ÑØ×Ñ×$Ñ$ QÑ'×;Ñ;Ó=¸sôDð Dñ Dr   r~   c                 ó$  — t        j                  t        d ¬«      }t        j                  | ||¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |j                  «        y )Nr\   ©r~   ©r`   r  ©r)  r¥   r   ©rk   ç     Àb@g     €[@rÔ   ©rS   r`   )	r   rm   r   rn   ro   r	   rr   rÖ   r‰   ©r   r~   rt   ru   s       r   Ú test_rectangle_selector_onselectrE  R  sw   € ô �y‰yœd°Ô6€Hä×$Ñ$ R¨¸{ÔK€Dä�4˜z¨zÕ:à×ÑÔ!Ø�<‰<Ð7Ò7Ð7Ð7à×ÑÔÜ�4˜y¨iÕ8Ø×ÑÕ!r   Úignore_event_outsidec                 óŽ  — t        j                  t        d ¬«      }t        j                  | ||¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |r"|j                  «        |j                  dk(  sJ ‚y |j                  «        |j                  d	k(  sJ ‚y )
Nr\   )rF  r?  r@  r   rA  ©r)  r)  ©r  r  )rB  ç      d@rB  rJ  )
r   rm   r   rn   ro   r	   rr   rÖ   r‰   rˆ   )r   rF  rt   ru   s       r   Ú&test_rectangle_selector_ignore_outsiderK  c  s°   € ä�y‰yœd°Ô6€Hä×$Ñ$ R¨Ø:NôP€Dä�4˜z¨zÕ:Ø×ÑÔ!Ø�<‰<Ð7Ò7Ð7Ð7à×ÑÔä�4˜z¨zÕ:Ùà×"Ñ"Ô$Ø�|‰|Ð;Ò;Ð;Ñ;ð 	×#Ñ#Ô%Ø�|‰|Ð;Ò;Ð;Ñ;r   z$orientation, onmove_callback, kwargsÚ
horizontal)ÚminspanrQ   Úvertical)rR   r>  c                 óž  — t        j                  t        d ¬«      }t        j                  t        d ¬«      }|r||d<   | j                  d«       | j	                  «       }t        j                  | ||fi |¤Ž}t        |dddd¬«       t        |dd	d	d¬«       t        |d
ddd¬«       |j                  dd	«       |r|j                  dd	«       y y )Nr\   Úonmove_callbackÚautor_   r`   r   ra   rd   re   rf   rg   )	r   rm   r   r   Útwinxrn   ÚSpanSelectorr
   Úassert_called_once_with)r   ÚorientationrP  rP   rt   rd   Útaxru   s           r   Útest_span_selectorrW  z  s¼   € ô �y‰yœd°Ô6€HÜ�Y‰YœD¨tÔ4€FÙØ$*ˆÐ Ñ!ð ‡M�M�&ÔØ
�(‰(‹*€Cä×Ñ  H¨kÑD¸VÑD€DÜˆT�7 #¨S¸Õ;äˆT�8 3¨c¸!Õ<ÜˆT�9 C¨s¸1Õ=à×$Ñ$ S¨#Ô.ÙØ×&Ñ& s¨CÕ0ð r   c                 ó&  — t        j                  t        d ¬«      }t        j                  | |d|¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |j                  «        y )	Nr\   rL  r>  r  )r)  r`   r   )r`   r)  rC  )	r   rm   r   rn   rS  r	   rr   rÖ   r‰   rD  s       r   Útest_span_selector_onselectrY  ˜  s{   € ä�y‰yœd°Ô6€Hä×Ñ  H¨lØ,7ô9€Dô �4˜z¨zÕ:Ø×ÑÔ!Ø�<‰<˜:Ò%Ð%Ð%à×ÑÔÜ�4˜y¨iÕ8Ø×ÑÕ!r   c                 óH  — t        j                  t        d ¬«      }t        j                  t        d ¬«      }t        j                  | |d||¬«      }t        |dd¬«       |j                  «        |j                  «        |j                  dk(  sJ ‚|j                  «        |j                  «        t        |dd	¬«       |r2|j                  «        |j                  «        |j                  dk(  sJ ‚y |j                  «        |j                  «        |j                  d
k(  sJ ‚y )Nr\   rL  )rP  rF  r  r*  r   )r`   rÞ   rH  rI  )r)  r  )
r   rm   r   rn   rS  r	   rr   rÖ   r‰   rˆ   )r   rF  rt   rd   ru   s        r   Ú!test_span_selector_ignore_outsider[  ¨  sô   € ä�y‰yœd°Ô6€HÜ�Y‰YœD¨tÔ4€Fä×Ñ  H¨lØ06Ø5IôK€Dô �4˜z¨zÕ:Ø×ÑÔ!Ø
×ÑÔØ�<‰<˜:Ò%Ð%Ð%à×ÑÔØ
×ÑÔä�4˜z¨zÕ:Ùà×"Ñ"Ô$Ø× Ñ Ô"Ø�|‰|˜zÒ)Ð)Ñ)ð 	×#Ñ#Ô%Ø×!Ñ!Ô#Ø�|‰|˜zÒ)Ð)Ñ)r   r¢   c                 ó   — t        j                  | t        dd|¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |dd	¬«       |r|j                  d
k(  sJ ‚|j                  dk(  sJ ‚t        |dd¬«       |j                  dk(  sJ ‚y )NrL  T)rt   Ú	directionr~   r¢   r}   r¤   r   rC  r¨   r«   )r(   r  )r©   r¬   r­   r°   )rn   rS  r   r	   rÖ   )r   r¢   ru   s      r   Útest_span_selector_dragr^  Å  s–   € ô ×Ñ ¬T¸\Ø,0Ø3EôG€Dô �4˜x¨ZÕ8Ø�<‰<˜9Ò$Ð$Ð$ô �4˜x¨XÕ6ÙØ�|‰|˜yÒ(Ð(Ð(à�|‰|˜xÒ'Ð'Ð'ô �4˜z¨zÕ:Ø�<‰<˜:Ò%Ð%Ñ%r   c                 óú  — t        j                  | t        dd¬«      }|j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚t        j                  t        «      5  t        j                  | t        d¬«      }d d d «       d|_        |j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚t        j                  t        «      5  d|_        d d d «       y # 1 sw Y   ŒfxY w# 1 sw Y   y xY w)NrL  T)rt   r]  r~   Úinvalid_direction)rt   r]  rN  Úinvalid_string)rn   rS  r   r]  Ú_edge_handlesr?   rä   rå   rœ   s     r   Útest_span_selector_directionrc  ß  sæ   € Ü×Ñ ¬T¸\Ø,0ô2€Dà�>‰>˜\Ò)Ð)Ð)Ø×Ñ×'Ñ'¨<Ò7Ð7Ð7ä	�‰”zÓ	"ñ CÜ×#Ñ# B´Ø.AôCˆ÷Cð  €D„NØ�>‰>˜ZÒ'Ð'Ð'Ø×Ñ×'Ñ'¨:Ò5Ð5Ð5ä	�‰”zÓ	"ñ *Ø)ˆŒ÷*ð *÷Cð Cú÷*ð *ús   Á#C%ÃC1Ã%C.Ã1C:c           
      ó€  — t        j                  | t        ddt        dd¬«      t        d¬«      ¬«      }t	        |d	d
¬«       |j
                  }|j                  «       t        j                  dd¬«      k(  sJ ‚|j                  dd¬«       |j                  «       t        j                  dd¬«      k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  dd¬«       |j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ y )NrL  Tr¸   r¹   rº   r¼   r½   )rt   r]  r~   rZ   r¾   r£   r¤   r   r¿   rÀ   ©r*   r»   )rn   rS  r   rÃ   r	   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   Ú	get_colorrË   rÌ   rÍ   s      r   Ú)test_span_selector_set_props_handle_propsrg  ñ  s4  € Ü×Ñ ¬T¸\Ø,0Ü&*°SÀÔ&DÜ-1¸¬_ô>€Dô
 �4˜w¨JÕ7à×#Ñ#€FØ×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDØ‡N�N˜S¨€NÔ,Ø×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDà×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ ¨3ÐÔ/Ø×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   ÚselectorÚspanÚ	rectanglec                 ó¤  — t        | t        d¬«      }|dk(  rt        j                  }d|d<   nt        j                  } |di |¤Ž}t        |dd¬«       t        |d	d	¬«       |j                  rJ ‚d|d
<    |di |¤Ž}|j                  sJ ‚t        |dd¬«       t        |d	d	¬«       |j                  sJ ‚t        |dd¬«       |j                  rJ ‚y )NT)r   rt   r~   ri  rL  r]  r}   r¤   r   )rß   rß   rF  r  Úescaper  r   )	rÃ   r   rn   rS  ro   r	   r‡   rF  r
   )r   rh  rP   ÚSelectorru   s        r   Útest_selector_clearrn    sÜ   € ä�R¤$°DÔ9€FØ�6ÒÜ×'Ñ'ˆØ*ˆˆ{Òä×,Ñ,ˆáÑ�fÑ€DÜ�4˜x¨ZÕ8ô �4˜z¨zÕ:Ø×(Ò(Ð(Ð(à%)€FÐ!Ñ"ÙÑ�fÑ€DØ×$Ò$Ð$Ð$Ü�4˜x¨ZÕ8ô �4˜z¨zÕ:Ø×$Ò$Ð$Ð$äˆT�> xÕ0Ø×(Ò(Ð(Ð(Ð(r   c                 óö  — |dk(  rt        j                  | t        ddd¬«      }nt        j                  | t        d¬«      }t	        |dd¬«       |j
                  sJ ‚|j                  «       sJ ‚|dk(  r|j                  d	k(  sJ ‚|j                  «        |j
                  rJ ‚|j                  «       rJ ‚t	        |dd
¬«       |j
                  sJ ‚|j                  «       sJ ‚|dk(  r|j                  dk(  sJ ‚y y )Nri  rL  T)rt   r]  r~   rF  rÑ   r}   r¤   r   rC  )r¦   r¥   )rS   r¦   )	rn   rS  r   ro   r	   r‡   r—   rÖ   rá   )r   rh  ru   s      r   Útest_selector_clear_methodrp  $  sû   € à�6ÒÜ×#Ñ# B´ÀØ04Ø9=ô?‰ô ×(Ñ(¨´dÈÔMˆÜ�4˜x¨ZÕ8Ø×$Ò$Ð$Ð$Ø×ÑÔÐÐØ�6ÒØ�|‰|˜yÒ(Ð(Ð(à‡J�J„LØ×(Ò(Ð(Ð(Ø×ÑÔ!Ð!Ð!ô �4˜x¨YÕ7Ø×$Ò$Ð$Ð$Ø×ÑÔÐÐØ�6ÒØ�|‰|˜xÒ'Ð'Ñ'ð r   c                 óÚ  — t        j                  | t        dd¬«      }t        j                  t
        «      5  |j                  d«       d d d «       t        j                  t
        «      5  |j                  d«       d d d «       t        j                  t
        «      5  |j                  d«       d d d «       |j                  d«       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒZxY w# 1 sw Y   Œ3xY w)NrL  Tr>  rà   r´   rã   râ   )rn   rS  r   r?   rä   rå   ræ   rœ   s     r   Útest_span_selector_add_staterr  >  s³   € Ü×Ñ ¤D¨,Ø,0ô2€Dô 
�‰”zÓ	"ñ ,Ø�‰Ð*Ô+÷,ä	�‰”zÓ	"ñ !Ø�‰�xÔ ÷!ä	�‰”zÓ	"ñ !Ø�‰�xÔ ÷!ð 	‡N�N�6Õ÷,ð ,ú÷!ð !ú÷!ð !ús#   ·C	Á*CÂC!Ã	CÃCÃ!C*c                 óx  — g d¢}t        j                  | |dd¬«      }|j                  D ]&  }|j                  «       rJ ‚|j	                  «       sŒ&J ‚ |j                  d«       |j                  d«       |j                  D ]&  }|j                  «       sJ ‚|j	                  «       rŒ&J ‚ |j                  |k(  sJ ‚y )N)r(   r„   r¦   rL  F)rQ   T)rn   ÚToolLineHandlesr:  Úget_animatedr—   Úset_visibleÚset_animatedÚ	positions)r   rx  Útool_line_handlerÎ   s       r   Útest_tool_line_handlerz  L  sÉ   € Ú€IÜ×.Ñ.¨r°9¸lØ7<ô>Ðð #×*Ñ*ò (ˆØ×&Ñ&Ô(Ð(Ð(Ø×%Ñ%Õ'Ð'Ð'ð(ð × Ñ  Ô&Ø×!Ñ! $Ô'à"×*Ñ*ò $ˆØ×"Ñ"Ô$Ð$Ð$Ø×!Ñ!Õ#Ð#Ð#ð$ð ×%Ñ%¨Ò2Ð2Ñ2r   r]  )rL  rN  c                 óª  — t        j                  dd«      \  }}|j                  ddgddg«       |j                  j                  j                  «        |j                  «       }|j                  «       }t        j                  |t        | d¬«      }|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚| dk(  r|n|}|j                  j                  t        |«      k(  sJ ‚d}d	}|}	t        |||¬
«       |j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚| dk(  rdnd}
||
   |	|
   g}|j                  j                  |k(  sJ ‚y )Nr   rS   r(   r„   Tr>  rL  )rz   g      '@)r{   é   r   r   )rA   rB   ÚplotÚfigurerD   rE   Ú
get_xboundÚ
get_yboundrn   rS  Úprintrb  rx  Úlistr	   )r]  rI   r   Úx_boundÚy_boundru   ÚboundÚ
press_dataÚ	move_dataÚrelease_dataÚindexÚhandle_positionss               r   Útest_span_selector_boundr‹  _  sC  € ä�l‰l˜1˜aÓ �G€CˆØ‡G�GˆR�ˆH�r˜2�hÔØ‡I�I×Ñ×ÑÔØ�m‰m‹o€GØ�m‰m‹o€Gä×Ñ ¤E¨9À$ÔG€DØ�=‰=‹?˜gÒ%Ð%Ð%Ø�=‰=‹?˜gÒ%Ð%Ð%à  LÒ0‰G°g€EØ×Ñ×'Ñ'¬4°«;Ò6Ð6Ð6à€JØ€IØ€LÜ�4˜z¨yÕ9à�=‰=‹?˜gÒ%Ð%Ð%Ø�=‰=‹?˜gÒ%Ð%Ð%à˜lÒ*‰A°€EØ" 5Ñ)¨<¸Ñ+>Ð?ÐØ×Ñ×'Ñ'Ð+;Ò;Ð;Ñ;r   ÚQtAgg)Úskip_on_importerrorc            	      óV  ‡‡	‡
— t        j                  ddt         j                  z  d«      Š
t        j                  ‰
«      Š	t	        j
                  «       \  } }|j                  ‰
‰	d¬«      \  }|j                  g d¬«      \  Št	        j                  d«       |j                  |«       | j                  j                  | j                  «       ˆˆ	ˆ
fd„}t        j                  ||d|ddd¬	«      }d
dg}ddg}t        |d|d   |d
   d
¬«       t        |d|d   |d
   d
¬«       |j                  «       |‰fk(  sJ ‚|j                   du sJ ‚‰j                   sJ ‚t#        ‰j%                  «       d«       |j'                  «        ‰j                   du sJ ‚ddg}ddg}ddg}t        |d|d   |d
   d
¬«       t        |d|d   |d
   d
¬«       |j                   du sJ ‚‰j                   sJ ‚t#        ‰j%                  «       d«       t        |d|d   |d
   d
¬«       ‰j                   du sJ ‚y)zACheck that the animated artists changed in callbacks are updated.r   r   r`   T)Úanimatedçš™™™™™¹?c                 ó®   •— t        j                  ‰| |f«      \  }}‰|| j                  «       }‰j                  ‰t        j                  ‰|«      «       y r   )r  ÚsearchsortedÚmeanÚset_dataÚ	full_like)ÚvminÚvmaxÚindminÚindmaxÚvÚln2ÚvaluesÚxs        €€€r   r“  z:test_span_selector_animated_artists_callback.<locals>.meanŒ  sI   ø€ äŸ™¨¨T°4¨LÓ9‰ˆ�Ø�6˜&Ð!×&Ñ&Ó(ˆØ�‰�QœŸ™ Q¨Ó*Õ+r   rL  )r]  rP  r~   r¢   rQ   r   r_   ra   rd   FgˆSG-�î?é   r   gÈ„¦C(î¿rf   N)r  ÚlinspaceÚpiÚsinrA   rB   r}  ÚpauseÚdraw_artistrD   ÚblitÚbboxrn   rS  r
   Ú_get_animated_artistsÚstaler   Ú	get_ydataÚupdate)rI   r   Úlnr“  ri  r†  r‡  rˆ  r›  rœ  r�  s           @@@r   Ú,test_span_selector_animated_artists_callbackr«  {  s  ú€ ô 	�‰�A�qœ2Ÿ5™5‘y #Ó&€AÜ�V‰V�A‹Y€Fä�l‰l‹n�G€CˆØ
�'‰'�!�V dˆ'Ó
+�C€BØ�7‰7�2 ˆ7Ó%�D€Cô
 ‡I�Iˆc„NØ‡N�N�2ÔØ‡J�J‡O�O�C—H‘HÔö,ô ×Ñ  D°LØ04Ø,0Ø37Ø(,ô	.€Dð �Q�€JØ�A�€IÜˆT�7 *¨Q¡-°zÀ!±}ÈQÕOÜˆT�8 9¨Q¡<°yÀ±|ÈAÕNØ×%Ñ%Ó'¨B°¨9Ò4Ð4Ð4Ø�8‰8�uÑÐÐØ�9Š9Ðˆ9Ü�C—M‘M“OÐ%7Ô8Ø‡K�K„MØ�9‰9˜ÑÐÐð �Q�€JØ�A�€IØ�q�6€LÜˆT�7 *¨Q¡-°zÀ!±}ÈQÕOÜˆT�8 9¨Q¡<°yÀ±|ÈAÕNØ�8‰8�uÑÐÐØ�9Š9Ðˆ9Ü�C—M‘M“OÐ%8Ô9ÜˆT�9 L°¡OØ ‘?¨1õ.à�9‰9˜ÑÐÑr   c                 ó  — d„ }t        j                  | |d¬«      }|j                  }t        j                  ddd«      }t        j
                  g d¢«      }t        j
                  g d¢«      } |||«      }t        ||«       y )	Nc                   ó   — y r   r   r‘   s    r   rt   z4test_snapping_values_span_selector.<locals>.onselectµ  s   € Ør   rL  )r]  r   r   r{   )
gš™™™™™¹¿r�  r¹   r¼   ç333333ã?çffffffæ?çÍÌÌÌÌÌì?g
×£p=
@ç      @ç      @)
rÒ   rÒ   rÒ   r¼   r¼   r¼   ç      ð?r±  r±  r±  )rn   rS  Ú_snapr  rŸ  r  r   )r   rt   ru   Úsnap_functionÚsnap_valuesrœ  Úexpects          r   Ú"test_snapping_values_span_selectorr¸  ´  sl   € òô ×Ñ  H¸ÔF€DØ—J‘J€Mä—+‘+˜a  BÓ'€KÜ�X‰XÒJÓK€FÜ�X‰XÒJÓK€FÙ˜6 ;Ó/€FÜ�F˜FÕ#r   c                 óü   ‡ — ˆ fd„}t        j                  d«      dz  }t        j                  ‰ |d|¬«      }d|_        |j                  dk(  sJ ‚d |_        |j
                  �J ‚d|_        |j                  dk(  sJ ‚y )Nc                 ó   •— d‰_         y )NT)Ú_got_onselect)r–  r—  r   s     €r   rt   z)test_span_selector_snap.<locals>.onselectÃ  s   ø€ ØˆÕr   r¦   rž  rL  )r]  r¶  )é   r¬   )r'   é$   )r  Úarangern   rS  rÖ   r¶  )r   rt   r¶  ru   s   `   r   Útest_span_selector_snapr¿  Â  s�   ø€ ô ô —)‘)˜B“- !Ñ#€Kä×Ñ  H¸Ø,7ô9€Dà€D„LØ�<‰<˜8Ò#Ð#Ð#à€DÔØ×ÑÐ#Ð#Ð#Ø€D„LØ�<‰<˜8Ò#Ð#Ñ#r   r%   )r*   )rQ   rZ   c                 óî   — t        j                  t        d ¬«      }t        j                  | |fi |¤Ž}t        |dddd¬«       t        |dddd¬«       t        |dd	d	d¬«       |j                  g d
¢«       y )Nr\   r_   r`   r   ra   rd   rÞ   rf   r)  )r  r*  rH  )r   rm   r   rn   ÚLassoSelectorr
   rT  )r   rP   rt   ru   s       r   Útest_lasso_selectorrÂ  Ó  sj   € ô �y‰yœd°Ô6€Hä× Ñ   XÑ8°Ñ8€DÜˆT�7 #¨S¸Õ;ÜˆT�8 3¨c¸!Õ<ÜˆT�9 C¨s¸1Õ=à×$Ñ$Ò%IÕJr   c                 óª  — t        j                  t        d ¬«      }t        j                  | |t        dd¬«      ¬«      }|j                  }t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚|j                  dd¬«       t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚y )Nr\   r¸   r¹   re  rY   r¿   rÀ   )r   rm   r   rn   rÁ  rÃ   rÄ   rÆ   r8  rf  rË   rÈ   )r   rt   ru   rÎ   s       r   Útest_lasso_selector_set_propsrÄ  ã  s´   € Ü�y‰yœd°Ô6€Hä× Ñ   X´TÀÈ3Ô5OÔP€Dà×#Ñ#€FÜ×Ñ˜f×.Ñ.Ó0°#Ô6Ð6Ð6Ø×ÑÓ Ò$Ð$Ð$Ø‡N�N˜ C€NÔ(Ü×Ñ˜f×.Ñ.Ó0°#Ô6Ð6Ð6Ø×ÑÓ Ò$Ð$Ñ$r   c                 óö   — t        j                  | dd«      }|j                  «       g d¢k(  sJ ‚|j                  d«       |j                  «       g d¢k(  sJ ‚|j	                  d„ «      }|j                  |«       y )N)Úar¸   Úc)TFTr   )FFTc                   ó   — y r   r   r   r   r   r“   z#test_CheckButtons.<locals>.<lambda>ö  r”   r   )rn   r   Ú
get_statusÚ
set_activeÚ
on_clickedÚ
disconnect)r   ÚcheckÚcids      r   Útest_CheckButtonsrÏ  ð  ss   € Ü× Ñ   _Ð6IÓJ€EØ×ÑÓÒ!4Ò4Ð4Ð4Ø	×Ñ�QÔØ×ÑÓÒ!5Ò5Ð5Ð5à
×
Ñ
™<Ó
(€CØ	×Ñ�SÕr   Útoolbar)rj   Útoolbar2Útoolmanagerc                 óš  — t         j                  j                  d|«       t        j                  t
        d ¬«      }t        j                  t
        d ¬«      }t        j                  | d«      }|j                  |«       |j                  |«       |j                  dk(  sJ ‚t        |d«       |j                  d«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  «        |j                  «        |j                  dk(  sJ ‚t        |ddd¬	«       t        |d
d¬«       t        |d
d¬«       |j                  dk(  sJ ‚y )NrÐ  r\   Ú Ú_clickzx**2r   r   r¼   ©rb   rc   Ú	_keypressú+r  Ú5rÕ   )rA   ÚrcParamsÚ_setr   rm   r   rn   ÚTextBoxÚ	on_submitÚon_text_changeÚtextr
   Úset_valÚ
call_countÚbegin_typingÚstop_typing)r   rÐ  Úsubmit_eventÚtext_change_eventru   s        r   Útest_TextBoxræ  ú  s  € ô ‡L�L×Ñ�i Ô)ä—9‘9¤$°TÔ:€LÜŸ	™	¤t¸$Ô?ÐÜ�?‰?˜2˜rÓ"€DØ‡N�N�<Ô Ø×ÑÐ)Ô*à�9‰9˜Š?Ðˆ?äˆT�8Ôà‡L�L�Ôà�9‰9˜ÒÐÐØ×'Ñ'¨1Ò,Ð,Ð,à×ÑÔØ×ÑÔà×"Ñ" aÒ'Ð'Ð'äˆT�8 2¨RÕ0ÜˆT�; CÕ(ÜˆT�; CÕ(à×'Ñ'¨1Ò,Ð,Ñ,r   zcheck_radio_buttons.pngÚmpl20)ÚstyleÚremove_textc            
      óÎ  — t        «       } | j                  }|j                  d¬«       |j                  d«      }t	        j
                  |d«      }t        j                  t        d¬«      5  |j                   d d d «       |j                  d«      }t	        j                  |dd	«      }t        j                  t        d
¬«      5  |j                   d d d «       |j                  d«      }t	        j
                  |dg d¢g d¢dœg d¢g d¢dœ¬«      }|j                  d«      }t	        j                  |dd	g d¢g d¢dœg d¢g d¢dœdg d¢i¬«      }	y # 1 sw Y   ŒØxY w# 1 sw Y   ŒŒxY w)NrÀ   )Úleft)çš™™™™™©?r¯  r¹   ç333333Ã?)zRadio 1zRadio 2zRadio 3z$The circles attribute was deprecatedr•   )rì  r¼   r¹   rí  )zCheck 1zCheck 2zCheck 3)FTTú'The rectangles attribute was deprecated)rì  rÀ   r¹   rí  )é   é   r'   )r%   ÚgreenÚblue)r+   r*   )r,   Ú	palegreenÚ	lightbluer.   r1   )rì  r�  r¹   rí  r*   ©r2   r7   r8   )r   r~  Úsubplots_adjustÚadd_axesrn   r   r?   r˜   ÚDeprecationWarningÚcirclesr   Ú
rectangles)
r   rI   Úrax1Úrb1Úrax2Úcb1Úrax3Úrb3Úrax4Úcb4s
             r   Útest_check_radio_buttons_imager    sU  € ä	‹€BØ
�)‰)€CØ×Ñ˜SÐÔ!à�<‰<Ð.Ó/€DÜ
×
Ñ
˜tÐ%FÓ
G€CÜ	�‰Ô(ØBô
Dñ à�Š÷ð �<‰<Ð.Ó/€DÜ
×
Ñ
˜tÐ%FØ2ó4€Cä	�‰Ô(ØEô
Gñ à�Š÷ð �<‰<Ð.Ó/€DÜ
×
Ñ
ØÐ/Ú!,Ú6ñ8â":Ú"IñKô	L€Cð �<‰<Ð.Ó/€DÜ
×
Ñ
ØÐ/Ð1DÚ!,Ú6ñ8â":Ú"IñKàÒ6Ð7ô9�C÷)ð ú÷ð ús   Á+EÃEÅEÅE$Úpng)Ú
extensionsc                 óp  — t        j                  | j                  «       ddg«       |j                  g g ¬«      }|j	                  ddgddg|j
                  t        j                  d   dz  dz  d	d
g¬«       |j                  ddd|j
                  d¬«       |j                  ddd|j
                  d¬«       y )NÚteaÚcoffee©ÚxticksÚyticksrí  çUUUUUUå?çUUUUUUÕ?ú	font.sizer   ÚC0rj   )r†   ÚsrÇ  ç      Ð?r´   ©r†   Úva)	rn   r   rB   Úadd_subplotÚscatterÚ	transAxesrA   rÚ  rß  ©Úfig_testÚfig_refr   s      r   Útest_radio_buttonsr  ?  s©   € ä×Ñ˜×*Ñ*Ó,¨u°hÐ.?Ô@Ø	×	Ñ	 B¨rÐ	Ó	2€BØ‡J�J��Sˆz˜C ˜:°·±Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸$À¸ð ô Ià‡G�GˆC��e r§|¡|¸€GÔAØ‡G�GˆC��h¨"¯,©,¸8€GÕDr   c                 ó  — dgdgdœ}ddddœ}t        j                  |j                  «       dd	g||¬
«       t        j                  | j                  «       dd	g«      }|j                  |«       |j	                  i |¥ddi¥«       y )Nr%   é   r)   rñ  rò  r   ©r0   r/   Ú	linewidthr  r  r1   r  ç      b@)rn   r   rB   Úset_label_propsÚset_radio_props)r  r  r2   r3   Úcbs        r   Útest_radio_buttons_propsr#  I  s�   € à"˜G°"°Ñ6€KØ '°fÈ1ÑM€Kä×Ñ˜×)Ñ)Ó+¨e°XÐ->Ø%0¸kõKô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DÓ	E€BØ×Ñ�{Ô#ð ×ÑÐ8˜+Ð8 s¨KÑ8Õ9r   c                 ó  — t        j                  t        d¬«      5  t        j                  | ddgdddi¬«      }d d d «       t        j                  j                  j                  «       dd	g«      sJ ‚y # 1 sw Y   Œ<xY w)
Nz"Both the \*activecolor\* parameterr•   r  r  r%   r0   rñ  )Úactivecolorr3   rj   )	r?   r˜   ÚUserWarningrn   r   rÆ   r8  Ú_buttonsrÅ   )r   Úrbs     r   Ú!test_radio_button_active_conflictr)  X  s{   € Ü	�‰”kØAô
Cñ Fä×!Ñ! " u¨hÐ&7ÀUØ/:¸GÐ.DôFˆ÷Fô
 ×Ñ˜bŸk™k×7Ñ7Ó9¸GÀVÐ;LÔMÐMÑM÷Fð Fús   œA5Á5A>c                 ó²   — t        j                  |j                  «       ddgd¬«       t        j                  | j                  «       ddgd¬«      }d|_        y )Nr  r  rñ  )r%  r%   )rn   r   rB   r%  )r  r  r"  s      r   Ú%test_radio_buttons_activecolor_changer+  a  sS   € ä×Ñ˜×)Ñ)Ó+¨e°XÐ->Ø%,õ.ô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DØ*/ô
1€Bà€B…Nr   c           	      óô  — t        j                  | j                  «       ddgddg«       |j                  g g ¬«      }|j	                  ddgddgd|j
                  t        j                  d	   d
z  d
z  ddg¬«       |j	                  ddgddgd|j
                  t        j                  d	   d
z  d
z  ddg¬«       |j                  ddd|j
                  d¬«       |j                  ddd|j
                  d¬«       y )Nr  r  Tr	  rí  r  r  r  r  r   rj   )Úmarkerr†   r  rÇ  r�  Úkr  r´   r  )	rn   r   rB   r  r  r  rA   rÚ  rß  r  s      r   Útest_check_buttonsr/  l  sô   € ä×Ñ˜×*Ñ*Ó,¨u°hÐ.?À$ÈÀÔNØ	×	Ñ	 B¨rÐ	Ó	2€BØ‡J�J��Sˆz˜C ˜:¨c¸R¿\¹\Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸&À&Ð9Ið ô Kà‡J�J��Sˆz˜C ˜:¨c¸R¿\¹\Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸#¸s¸ð ô Eà‡G�GˆC��e r§|¡|¸€GÔAØ‡G�GˆC��h¨"¯,©,¸8€GÕDr   c                 óz  — dgdgdœ}ddddœ}dddœ}t        j                  |j                  «       d	d
gddg|||¬«       t        j                  | j                  «       d	d
gddg«      }|j                  |«       |j	                  i |¥ddi¥«       |j                  d«      |d<   |j                  i |¥ddi¥«       y )Nr%   r  r)   rñ  rò  r   r  )r0   r  r  r  Trõ  r  r  r0   r/   )rn   r   rB   r   Úset_frame_propsÚpopÚset_check_props)r  r  r2   r7   r8   r"  s         r   Útest_check_button_propsr4  x  sÚ   € à"˜G°"°Ñ6€KØ '°fÈ1ÑM€KØ %°AÑ6€Kä×Ñ˜×)Ñ)Ó+¨e°XÐ->ÀÀtÀØ%0¸kØ%0õ2ô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DØ# T˜ló
,€Bà×Ñ�{Ô#ð ×ÑÐ8˜+Ð8 s¨KÑ8Ô9ð  +Ÿ™¨{Ó;€K�ÑØ×ÑÐ8˜+Ð8 s¨KÑ8Õ9r   c                 óÒ  — t        j                  | j                  «       ddgddg«      }t        j                  t
        d¬«      5  |j                   d d d «       |j                  g g ¬«      }ddg}d}|dz  |dz  }}t        |«      D ��	cg c]+  \  }}	t        d	||   |dz  z
  f||d
d|j                  ¬«      ‘Œ- }
}}	|
D ]  }|j                  |«       Œ y # 1 sw Y   Œ†xY wc c}	}w )NrÔ  Frî  r•   r	  r  r  r   rì  rÁ   rj   )Úxyr"  Úheightr/   r0   r†   )rn   r   rB   r?   r˜   rø  rú  r  Ú	enumerater   r  Ú	add_patch)r  r  r"  r   ÚysÚdyÚwÚhÚiÚyrú  rj  s               r   Útest_check_buttons_rectanglesr@  �  s  € ô 
×	Ñ	˜h×/Ñ/Ó1°B¸°8Ø$ e˜nó
.€Bä	�‰Ô(ØEô
Gñ à
�Š÷ð 
×	Ñ	 B¨rÐ	Ó	2€BØ
ˆsˆ€BØ	€BØ�‰6�2˜‘6€q€Aô ˜b“M÷ñ ˆAˆqô 	�d˜B˜q™E A¨¡E™MÐ*°!¸AØ#Ø"ØŸL™Lö	ð€Jñ ð  ò  ˆ	Ø
�‰�YÕñ ÷ð üós   ÁCÂ0C#ÃC c                 ó˜  — t        j                  | j                  «       ddgddg«      }t        j                  t
        d¬«      5  |j                   d d d «       |j                  D ]  }|j                  d«       Œ |j                  g g ¬«      }ddg}d}|d	z  |d	z  }}d
d|j                  ddœ}	t        |«      D ]�  \  }
}d||d	z  z
  }}t        |||z   g||z   |gfi |	¤Ž}t        |||z   g|||z   gfi |	¤Ž}|j                  d«       |j                  d«       |j                  |«       |j                  |«       Œƒ y # 1 sw Y   ŒïxY w)NrÔ  Tz"The lines attribute was deprecatedr•   Fr	  r  r  r   r.  g      ô?Úbutt)r*   r  r†   Úsolid_capstylerì  )rn   r   rB   r?   r˜   rø  ÚlinesÚ_rectanglesrv  r  r  r8  r   Úadd_line)r  r  r"  rj  r   r:  r;  r<  r=  Ú
lineparamsr>  r?  r�  Úl1Úl2s                  r   Útest_check_buttons_linesrJ  §  s_  € ô 
×	Ñ	˜h×/Ñ/Ó1°B¸°8¸dÀD¸\Ó	J€BÜ	�‰Ô(Ø@ô
Bñ à
�Š÷ð —^‘^ò %ˆ	Ø×Ñ˜eÕ$ð%à	×	Ñ	 B¨rÐ	Ó	2€BØ
ˆsˆ€BØ	€BØ�‰6�2˜‘6€q€AØ¨TØ!#§¡Ø&,ñ.€Jô ˜"“ò ‰ˆˆ1Ø�Q˜˜Q™‘Yˆ1ˆÜ�Q˜˜A™�J  Q¡¨ 
Ñ9¨jÑ9ˆÜ�Q˜˜A™�J  A¨¡E 
Ñ9¨jÑ9ˆà
�‰�tÔØ
�‰�tÔØ
�‰�BŒØ
�‰�B�ñ÷ð ús   ÁE Å E	c                  óR  — t        j                  «       \  } }t        j                  t        «      5  t        j                  |dddd¬«       d d d «       t        j                  t        «      5  t        j                  |dddd¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)NrÔ  rÒ   ç      8@rÓ   )r   ÚlabelÚvalminÚvalmaxÚ	slidermin)r   rM  rN  rO  Ú	slidermax)rA   rB   r?   rä   rå   rn   ÚSlider)rI   r   s     r   Ú'test_slider_slidermin_slidermax_invalidrS  Â  sˆ   € Ü�l‰l‹n�G€Cˆä	�‰”zÓ	"ñ 'Ü�‰˜" B¨s¸4Ø!%õ	'÷'ô 
�‰”zÓ	"ñ 'Ü�‰˜" B¨s¸4Ø!%õ	'÷'ð '÷'ð 'ú÷'ð 'ús   ±BÁ-BÂBÂB&c                  ó>  — t        j                  «       \  } }t        j                  |dddd¬«      }t        j                  |dddd|¬«      }|j                  |j                  k(  sJ ‚t        j                  |dddd|¬	«      }|j                  |j                  k(  sJ ‚y )
NrÔ  rÒ   rL  r±  ©r   rM  rN  rO  Úvalinitr³  )r   rM  rN  rO  rV  rP  rÓ   )r   rM  rN  rO  rV  rQ  ©rA   rB   rn   rR  Úval)rI   r   Úslider_Úsliders       r   Útest_slider_slidermin_slidermaxr[  Í  sŽ   € Ü�l‰l‹n�G€CˆÜ�n‰n ¨"°SÀØ%(ô*€Gô �^‰^˜r¨°CÀØ$'°7ô<€Fà�:‰:˜Ÿ™Ò$Ð$Ð$ä�^‰^˜r¨°CÀØ$(°Gô=€Fà�:‰:˜Ÿ™Ò$Ð$Ñ$r   c                  ó  — t        j                  «       \  } }t        j                  |dddd¬«      }|j                  |j
                  k(  sJ ‚t        j                  |dddd¬«      }|j                  |j                  k(  sJ ‚y )NrÔ  rÒ   rL  g      $ÀrU  g      9@)rA   rB   rn   rR  rX  rN  rO  ©rI   r   rZ  s      r   Útest_slider_valmin_valmaxr^  Û  so   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°CÀØ$)ô+€Fà�:‰:˜Ÿ™Ò&Ð&Ð&ä�^‰^˜r¨°CÀØ$(ô*€Fà�:‰:˜Ÿ™Ò&Ð&Ñ&r   c            	      óæ   — t        j                  «       \  } }t        j                  |ddddd¬«      }|j                  dk(  sJ ‚t        j                  |ddddg d¢¬«      }|j                  d	k(  sJ ‚y )
NrÔ  rÒ   rL  gÍÌÌÌÌÌ&@r   )r   rM  rN  rO  rV  Úvalstepr{   )r   r   r²  g33333³3@r²  rW  r]  s      r   Útest_slider_valstep_snappingra  æ  sm   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°CÀØ$(°!ô5€Fà�:‰:˜ÒÐÐä�^‰^˜r¨°CÀØ$(Ò2CôE€Fà�:‰:˜ÒÐÑr   c                  ó¸  — t        j                  «       \  } }t        j                  |ddddd¬«      }|j	                  d«       |j
                  dk(  sJ ‚|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  g d¢«       t        j                  «       \  } }t        j                  |ddddd	¬«      }|j	                  d«       |j
                  dk(  sJ ‚|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  g d
¢«       y )NrÔ  r   r  rð  rL  )r   rM  rN  rO  rV  rU  rS   )r   r  ç«ªªªªªÚ?r¼   rN  )r  r   r¼   rc  )rA   rB   rn   rR  rà  rX  ÚpolyÚget_extentsÚtransformedr  Úinvertedr   Úbounds)rI   r   rZ  Úboxs       r   Útest_slider_horizontal_verticalrj  ñ  s  € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸bØ$&°LôB€Fà
‡N�N�2ÔØ�:‰:˜ÒÐÐà
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—J‘JÒ 3Ô4ä�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸bØ$&°Jô@€Fà
‡N�N�2ÔØ�:‰:˜ÒÐÐà
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—J‘JÒ 3Õ4r   c                  óÊ   — t        j                  «       \  } }t        j                  |dddd¬«      }|j	                  d«       |j                  «        |j                  dk(  sJ ‚y )NrÔ  r   r   r¼   rU  ç      è?)rA   rB   rn   rR  rà  ÚresetrX  r]  s      r   Útest_slider_resetrn    sN   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸aÈÔL€FØ
‡N�N�4ÔØ
‡L�L„NØ�:‰:˜ÒÐÑr   rU  c           	      ó>  ‡ — ‰ dk(  rg d¢}ng d¢}t        j                  «       \  }}t        j                  |ddd‰ ddg¬	«      }|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d
¢«       t        |j                  d«       ˆ fd„}|j                  d«       t        |j                  d«       t         ||«      d«       |j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d¢«       |j                  d«       t        |j                  d«       t         ||«      d«       |j                  d«       t        |j                  d«       t         ||«      d«       |j                  «        t        |j                  d«       t         ||«      d«       y )NrN  ©r   r   rÕ   r   ©r   r   r   rÕ   rÔ  rÒ   r³  r�  çÃõ(\�ÂÕ?©r   rM  rN  rO  rU  rV  )r�  r  rr  rl  )r�  rr  c                 óÎ   •— ‰dk(  r+| j                   D �cg c]  }|j                  «       d   ‘Œ c}S | j                   D �cg c]  }|j                  «       d   ‘Œ c}S c c}w c c}w )NrN  r   )Ú_handlesr¨  Ú	get_xdata)rZ  r=  rU  s     €r   rŠ  z+test_range_slider.<locals>.handle_positions   sS   ø€ Ø˜*Ò$Ø.4¯o©oÖ>¨�A—K‘K“M !Ó$Ò>Ð>à.4¯o©oÖ>¨�A—K‘K“M !Ó$Ò>Ð>ùò ?ùâ>s   •AÁ A")çš™™™™™Ù?r®  )rw  r  r®  rl  )r¹   r�  )r�  r¹   )éÿÿÿÿrS   r$   )rA   rB   rn   ÚRangeSliderrd  re  rf  r  rg  r   Ú
get_pointsÚflattenrX  rà  rm  )rU  ÚidxrI   r   rZ  ri  rŠ  s   `      r   Útest_range_sliderr}    s˜  ø€ à�jÒ Ú‰âˆä�l‰l‹n�G€Cˆä× Ñ Ø�R ¨C¸[Ø�d�ô€Fð �+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5LÔMô �F—J‘J Ô,ô?ð ‡N�N�:ÔÜ�F—J‘J 
Ô+ÜÑ$ VÓ,¨jÔ9à
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5IÔJà
‡N�N�:ÔÜ�F—J‘J 
Ô+ÜÑ$ VÓ,¨jÔ9à
‡N�N�8ÔÜ�F—J‘J Ô'ÜÑ$ VÓ,¨fÔ5à
‡L�L„NÜ�F—J‘J Ô,ÜÑ$ VÓ,¨kÕ:r   c           	      ód  — | dk(  rg d¢}ng d¢}t        j                  «       \  }}t        j                  |ddd| ddg¬«      }|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d	¢«       y )
NrN  rp  rq  rÔ  rÒ   r³  r   rs  )r   r  r   rl  )rA   rB   rn   ry  rd  re  rf  r  rg  r   rz  r{  )rU  r|  rI   r   rZ  ri  s         r   Ú"test_range_slider_same_init_valuesr  :  s‘   € à�jÒ Ú‰âˆä�l‰l‹n�G€Cˆä× Ñ Ø�b ¨S¸kØ�Q�ô€Fð �+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5GÕHr   c                 óô   — t        «       }t        j                  t        d¬«      }t	        j
                  ||fi |¤Ž}| D ]  \  }}t        ||fi |¤Ž Œ |j                  |k(  sJ ‚|j                  |fi fk(  sJ ‚y)a4  
    Helper function to test Polygon Selector.

    Parameters
    ----------
    event_sequence : list of tuples (etype, dict())
        A sequence of events to perform. The sequence is a list of tuples
        where the first element of the tuple is an etype (e.g., 'onmove',
        'press', etc.), and the second element of the tuple is a dictionary of
         the arguments for the event (e.g., xdata=5, key='shift', etc.).
    expected_result : list of vertices (xdata, ydata)
        The list of vertices that are expected to result from the event
        sequence.
    selections_count : int
        Wait for the tool to call its `onselect` function `selections_count`
        times, before comparing the result to the `expected_result`
    **kwargs
        Keyword arguments are passed to PolygonSelector.
    Nr\   )	r   r   rm   r   rn   ÚPolygonSelectorr
   rá  rs   )	Úevent_sequenceÚexpected_resultÚselections_countrP   r   rt   ru   ÚetypeÚ
event_argss	            r   Úcheck_polygon_selectorr‡  K  sˆ   € ô* 
‹€Bä�y‰yœd°Ô6€Hä×"Ñ" 2 xÑ:°6Ñ:€Dà-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð ×ÑÐ"2Ò2Ð2Ð2Ø×Ñ ?Ð"5°rÐ!:Ò:Ð:Ñ:r   c                 óZ   — dt        | |¬«      fdt        | |¬«      fdt        | |¬«      fgS )Nrd   rÖ  r_   rf   ©rÃ   rÖ  s     r   Úpolygon_place_vertexrŠ  m  s9   € Ø”t %¨uÔ5Ð6Ø”d ¨eÔ4Ð5Øœ 5°Ô6Ð7ð9ð 9r   c                 ó^   — dt        | |¬«      fdt        | |d¬«      fdt        | |d¬«      fgS )Nrd   rÖ  r_   rÕ   ra   rf   r‰  rÖ  s     r   Úpolygon_remove_vertexrŒ  s  s?   € Ø”t %¨uÔ5Ð6Ø”d ¨e¸AÔ>Ð?Øœ 5°¸aÔ@ÐAðCð Cr   Údraw_bounding_boxc                 óò  — t        j                  t        | ¬«      }g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘} |||d«       g d¢}dt	        d¬	«      fd
t	        dd¬«      fdt	        dd¬«      fd
t	        dd¬«      fdt	        dd¬«      fdt	        d¬	«      fdt	        d¬	«      fd
t	        dd¬«      fdt	        dd¬«      fd
t	        dd¬«      fdt	        dd¬«      fdt	        d¬	«      fgt        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       y )N©r�  ©©r¦   r¦   ©r)  r¦   ©r¦   r)  r¦   r)  r   ))rŸ   r¦   r’  r“  r  rì   r  rd   rÖ  r_   rŸ   rf   Úon_key_release))r¦   rŸ   )r)  rŸ   r“  rý   r`   rÞ   r   ))rŸ   rŸ   )r®   rŸ   )rŸ   r®   rg   rl  )Ú	functoolsÚpartialr‡  rŠ  rÃ   )r�  Úcheck_selectorrƒ  r‚  s       r   Útest_polygon_selectorr˜  y  so  € ä×&Ñ&ÜÐ2CôE€Nò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðð 
œ )Ô,Ð-ðð 
”4˜b¨Ô+Ð,ð	ð
 
”$˜R rÔ*Ð+ðð 
”4˜b¨Ô+Ð,ðð 
”D˜r¨Ô,Ð-ðð 
œ4 IÔ.Ð/ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðð 
œ 'Ô*Ð+ðð 
”4˜c¨Ô-Ð.ð	ð
 
”$˜S¨Ô,Ð-ðð 
”4˜c¨Ô-Ð.ðð 
”D˜s¨#Ô.Ð/ðð 
œ4 GÔ,Ð-ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð€Nñ �> ?°AÔ6ò 7€Oð	Ü	˜b "Ó	%ð	ä	˜c 2Ó	&ð	ô 
˜b #Ó	&ð	ô 
˜b "Ó	%ð		ð
 
”4˜b¨Ô+Ð,ð	ð 
”$˜R rÔ*Ð+ð	ð 
”4˜b¨Ô+Ð,ð	ð 
”D˜r¨Ô,Ð-ð	€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	ð
 
œ 'Ô*Ð+ðð 
”4˜c¨Ô-Ð.ðð 
”$˜S¨Ô,Ð-ðð 
”4˜c¨Ô-Ð.ðð 
”D˜s¨#Ô.Ð/ðð 
œ4 GÔ,Ð-ð€Nñ �> ?°AÔ6ò 7€Oà	œ )Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”$˜S¨Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”D˜s¨#Ô.Ð/Ø	œ4 IÔ.Ð/Ø	œ 'Ô*Ð+Ø	”4˜c¨Ô-Ð.Ø	”$˜S¨Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”D˜s¨#Ô.Ð/Ø	œ4 GÔ,Ð-ðô 
˜b "Ó	%ðô 
˜c 2Ó	&ðô 
˜b #Ó	&ðô  
˜b "Ó	%ð!€Nñ$ �> ?°AÔ6ò 7€Oð	Ü	˜b "Ó	%ð	ä	˜c 2Ó	&ð	ð 
œ (Ô+Ð,ð	ð 
œ4 HÔ-Ð.ð		ô
 
˜b "Ó	%ð	ô 
˜c 2Ó	&ð	ô 
˜b #Ó	&ð	ô 
˜b "Ó	%ð	€Nñ �> ?°AÕ6r   c                 óô  — t        j                  | t        t        dd¬«      t        d¬«      |¬«      }g t	        dd«      ¢t	        dd«      ¢t	        dd«      ¢t	        dd«      ¢}|D ]  \  }}t        ||fi |¤Ž Œ |j                  }|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d	d
¬«       |j                  «       d	k(  sJ ‚|j                  «       d
k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  d	d
¬«       |j                  D ],  }|j                  «       d	k(  sJ ‚|j                  «       d
k(  rŒ,J ‚ y )Nr¸   r¹   re  r¼   r½   )rt   rZ   r¾   r�  r¦   r)  r¿   rÀ   )rn   r�  r   rÃ   rŠ  r
   rÄ   rf  rË   rÈ   rÉ   rÌ   )r   r�  ru   r‚  r…  r†  rÎ   s          r   Ú,test_polygon_selector_set_props_handle_propsrš  ë  s«  € ä×"Ñ" 2´Ü)-°C¸sÔ)CÜ04¸3´Ø5FôH€Dð
Ü	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	€Nð  .ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð ×#Ñ#€FØ×ÑÓ Ò$Ð$Ð$Ø×ÑÓ Ò$Ð$Ð$Ø‡N�N˜ C€NÔ(Ø×ÑÓ Ò$Ð$Ð$Ø×ÑÓ Ò$Ð$Ð$à×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ ¨3ÐÔ/Ø×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   c                 óŽ   — | j                  «       }|j                  «       }t        j                  |t        ddi¬«      }d|_        y )Nr›   F)rt   rZ   )r¹   r  rÀ   r¯  )rB   rn   ro   r   rÖ   )r  r  Úax_testÚ_ru   s        r   Útest_rect_visibilityrž    sC   € ð ×ÑÓ!€GØ×ÑÓ€Aä×$Ñ$ W´tØ,5°uÐ+=ô?€Dà'€D…Lr   r|  )r   r   rÕ   c                 ó  — g d¢}t        |d   Ž t        |d   Ž t        |d   Ž t        |d   Ž g}|j                  | t        dd«      «       |j                  t        dd«      «       t	        |g «      }t        ||d|¬«       y )Nr�  r   r   r   éÈ   r�  )rŠ  ÚinsertÚappendrŒ  Úsumr‡  )r|  r�  Úvertsr‚  s       r   Útest_polygon_selector_remover¥    sŽ   € ò -€EÜ*¨E°!©HÐ5Ü*¨E°!©HÐ5Ü*¨E°!©HÐ5ä*¨E°!©HÐ5ð	7€Nð ×Ñ˜#Ô3°C¸Ó=Ô>à×ÑÔ/°°SÓ9Ô:ä˜¨Ó,€NÜ˜>¨5°!Ø->ö@r   c                 ó¢   — g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        ||dd  d| ¬«       y )Nr�  r   r   r   r�  )rŠ  rŒ  r‡  )r�  r¤  r‚  s      r   Ú(test_polygon_selector_remove_first_pointr§  +  sƒ   € â,€EðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	ô
 
  a¡Ð	)ð€Nô ˜>¨5°°¨9°aØ->ö@r   c                 ó8  — g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        j                  | t        |¬«      }|D ]  \  }}t        ||fi |¤Ž Œ |j                  |dd k(  sJ ‚y )Nr�  r   r   r   ©rt   r�  )rŠ  rŒ  rn   r�  r   r
   r¤  )r   r�  r¤  r‚  ru   r…  r†  s          r   Útest_polygon_selector_redrawrª  9  sæ   € â,€Eð
Ü	˜u Q™xÐ	(ð
ä	˜u Q™xÐ	(ð
ô 
˜u Q™xÐ	(ð
ô 
˜u Q™xÐ	(ð	
ô 
  a¡Ð	)ð
ô 
  a¡Ð	)ð
ô 
˜u Q™xÐ	(ð
€Nô ×"Ñ" 2´Ø5FôH€Dà-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð �:‰:˜˜q ˜Ò#Ð#Ñ#r   c                 óv  — g d¢}| j                  «       }t        j                  |t        |¬«      }||_        |j                  |k(  sJ ‚|j                  «       }t        j                  |t        |¬«      }g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}|D ]  \  }	}
t        ||	fi |
¤Ž Œ y )N))r�  rw  )r¼   r°  )rÀ   r¹   r©  r   r   r   )r  rn   r�  r   r¤  rŠ  r
   )r  r  r�  r¤  rœ  Ú	tool_testÚax_refÚtool_refr‚  r…  r†  s              r   Ú"test_polygon_selector_verts_setterr¯  Q  sä   € ò 1€EØ×"Ñ"Ó$€Gä×'Ñ'Øœ$Ð2CôE€Ià€I„OØ�?‰?˜eÒ#Ð#Ð#à× Ñ Ó"€FÜ×&Ñ&ØœÐ1BôD€HðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	€Nð  .ò 0Ñˆ�
Ü�˜5Ñ/ JÓ/ñ0r   c                 óÞ  — | j                  dd¬«       g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        j                  | t        d¬	«      }|D ]  \  }}t        ||fi |¤Ž Œ | j                  }| j                  j                  }t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        j                  j                  |j                   j"                  d«       t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        j                  j                  |j                   j"                  d«       y )N)iöÿÿÿr¦   )ÚxlimÚylim))r(   r   )r   r(   )r(   é(   )r³  r(   r   r   r   rÕ   Tr©  Úbutton_press_event)r³  r³  Úmotion_notify_eventr‚   Úbutton_release_event))rS   r   r£   )rS   r(   )r(   rS   r}   rƒ   )r    ©r(   r„   ©r„   r³  ©r³  r„   )ç      4@ç      D@rº  r»  r    )r·  r¸  r¹  )rº  r»  g      >@r»  )ÚsetrŠ  rn   r�  r   r
   r…   r~  rD   r   r†   Ú_processr  Útestingr   r¤  Ú_boxrÖ   )r   r¤  r‚  ru   r…  r†  ÚtrD   s           r   Útest_polygon_selector_boxrÁ  i  sÖ  € à‡F�F�	 	€FÔ*Ú2€EðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	ô
 
˜u Q™xÐ	(ð€Nô ×"Ñ" 2´ÈÔM€DØ-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð
 	�‰€AØ�Y‰Y×Ñ€Fô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ˜vð?Ø()¯©°HÓ(=ò?ß?G¹x¼zÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò:ô<ô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ˜vð?Ø()¯©°HÓ(=ò?ß?G¹x¼zÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò<ô>ô ‡J�J×ÑØ�	‰	×ÑÐ3ô5ô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò2ô4ä‡J�J×ÑØ�	‰	×ÑÐ3õ5r   c                 óv  — t        j                  t        d ¬«      }t        j                  | |«      }g d¢g d¢fD ]ý  }|D ]&  \  }}t        ||«      D ]  \  }}t        ||fi |¤Ž Œ Œ( |j                  }|j                  sJ ‚|j                  «       sJ ‚|j                  «       sJ ‚t        j                  j                  |j                  «       |«       |j                  |d d fi fk(  sJ ‚|j                  «        |j                  rJ ‚t        j                  j                  |j                  «       dg«       Œÿ y )Nr\   )r‘  r’  r“  r‘  )r‘  )r`   r¦   r“  r‘  rx  r!   )r   rm   r   rn   r�  rŠ  r
   rÄ   r‡   r—   r  r¾  Úassert_equalÚ
get_xydatars   rá   )	r   rt   ru   Úresultr�  r?  r…  r†  rÎ   s	            r   Ú"test_polygon_selector_clear_methodrÆ  ¡  s-  € Ü�y‰yœd°Ô6€HÜ×"Ñ" 2 xÓ0€Dâ=Ú=ð?ò ?ˆàò 	4‰DˆAˆqÜ%9¸!¸QÓ%?ò 4Ñ!��zÜ˜˜uÑ3¨
Ó3ñ4ð	4ð ×'Ñ'ˆà×(Ò(Ð(Ð(Ø×ÑÔ!Ð!Ð!Ø×!Ñ!Ô#Ð#Ð#Ü
�
‰
×Ñ × 1Ñ 1Ó 3°VÔ<Ø×!Ñ! v¨c¨r { n°bÐ%9Ò9Ð9Ð9à�
‰
ŒØ×,Ò,Ð,Ð,Ü
�
‰
×Ñ × 1Ñ 1Ó 3°f°XÕ>ñ!?r   ÚhorizOnÚvertOnc                 óÂ  — t        j                  «       j                  dd¬«      \  }}t        j                  «       j                  «       }t        j                  d ||fd| |¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd¬«      }|j                  |«       |j                  j                  j                  «        |j                  D ]  }|j                  «       d	k(  rŒJ ‚ |j                  D ]  }|j                  «       d
k(  rŒJ ‚ t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      |rdndk(  sJ ‚t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      | rdndk(  sJ ‚|j                   |_        |j                    |_        t        |dd¬«      }|j                  |«       t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      |rdndk(  sJ ‚t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      | rdndk(  sJ ‚t        |dd¬«      }|j                  |«       |j                  D ]  }|j                  «       d	k(  rŒJ ‚ |j                  D ]  }|j                  «       d
k(  rŒJ ‚ y c c}w c c}w c c}w c c}w )Nr   T)ÚsharexF)rQ   rÇ  rÈ  r¼   r  rÖ  )r¼   r¼   )r  r  r   rl  )rA   r~  rB   rn   ÚMultiCursorr  ÚvlinesÚhlinesr   rd   rD   rE   rv  r¨  r—   rÇ  rÈ  )	rÇ  rÈ  Úax1Úax3Úax2ÚmultiÚeventÚlri   s	            r   Útest_MultiCursorrÔ  ¸  s   € ô —‘“×&Ñ& q°Ð&Ó6�J€Sˆ#Ü
�*‰*‹,×
Ñ
Ó
!€Cô ×ÑØˆs�Cˆj %°Àô€Eô
 ˆu�|‰|Ó Ò!Ð!Ð!Üˆu�|‰|Ó Ò!Ð!Ð!ô
 �s "¨CÔ0€EØ	‡L�L�Ôà‡J�J×Ñ×ÑÔð �\‰\ò )ˆØ�{‰{‹} Ó(Ð(Ð(ð)à�\‰\ò +ˆØ�{‰{‹} 
Ó*Ð*Ð*ð+ô  §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜òð ð ä §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜!òð ð ð Ÿ™Ð%€E„MØ—|‘|Ð#€E„LÜ�s "¨CÔ0€EØ	‡L�L�ÔÜ §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜òð ð ä §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜!òð ð ô
 �s #¨SÔ1€EØ	‡L�L�ÔØ�\‰\ò )ˆØ�{‰{‹} Ó(Ð(Ð(ð)à�\‰\ò +ˆØ�{‰{‹} 
Ó*Ð*Ð*ñ+ùò+ EùâDùò EùâDs0   Ä=KÅKÅ:KÆKÇ:KÈKÈ7KÉK)lr•  rF   Úunittestr   Ú
matplotlibr™   Úmatplotlib.backend_basesr   Úmatplotlib.colorsÚcolorsrÆ   r=   rn   Úmatplotlib.pyplotÚpyplotrA   Úmatplotlib.patchesr   Úmatplotlib.linesr   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing.widgetsr	   r
   r   r   r   Únumpyr  Únumpy.testingr   r?   Úfixturer   rO   ÚmarkÚparametrizerÃ   rx   rŽ   r�   r¶   rÏ   rÙ   rç   rø   rþ   r   ro   r-  r  r  r%  r1  r<  rE  rK  rW  rY  r[  r^  rc  rg  rn  rp  rr  rz  r‹  Úbackendr«  r¸  r¿  rÂ  rÄ  rÏ  ræ  r  r  r#  r)  r+  r/  r4  r@  rJ  rS  r[  r^  ra  rj  rn  r}  r  r‡  rŠ  rŒ  r˜  rš  rž  r¥  r§  rª  r¯  rÁ  rÆ  rÔ  r   r   r   ú<module>ræ     sÝ  ðÛ Û 	Ý ã Ý /Ý #Ý $Ý Ý (Ý #ß O÷:õ :ó Ý )ã ð ‡�ñó ðò$0ðN ‡�×Ñ˜ÙƒFÙ�˜aÔ Ù�"˜r¨hÔ7Ù‰t˜ŒÔð	$ó ñóðð2 ‡�×Ñ˜¨°Ð'9Ó:Ø‡�×Ñ˜¨1¨b¨'°A°t°9¸qÀ"¸gÐ)FÓGØ‡�×Ñ˜¨1¨b¨'°A°t°9¸qÀ"¸gÐ)FÓGñ ó Hó Hó ;ð òFð ‡�×ÑÐ9Ø Ð*Ø  (Ð+ð-ó.ñ%ó.ð%ò*)ò* JòFð ‡�×Ñ˜ t¨U mÓ4ñF;ó 5ðF;ðR ‡�×Ñ˜ t¨U mÓ4ñF3ó 5ðF3òR<Cð~ ‡�×ÑÐ)Ø!×3Ñ3°W×5LÑ5LÐMóOñDóOðDòB
%ð ‡�×ÑÐ/°%¸°Ó?ñ7ó @ð7òB5ò8DðB ‡�×Ñ˜¨¨u¨Ó6ñ"ó 7ð"ð  ‡�×ÑÐ/°$¸°Ó?ñ<ó @ð<ð, ‡�×ÑÐ?Ø�5™$ r°4Ô8Ð9Ø�‘t 1”~Ð&Ø�5™$¡T¨t¤_Ô5Ð6Ø�5™$¨4Ô0Ð1ð	Bó ñ1óð1ð0 ‡�×Ñ˜¨¨u¨Ó6ñ"ó 7ð"ð ‡�×ÑÐ/°$¸°Ó?ñ*ó @ð*ð8 ‡�×ÑÐ-°°e¨}Ó=ñ&ó >ð&ò2*ò$)ð, ‡�×Ñ˜ f¨kÐ%:Ó;ñ)ó <ð)ð8 ‡�×Ñ˜ f¨kÐ%:Ó;ñ(ó <ð(ò2ò3ð& ‡�×Ñ˜Ð&@ÓAñ<ó Bð<ð6 ‡�×Ñ�W°$ÐÓ7ñ5ó 8ð5òp$ò$ð" ‡�×Ñ˜ÙƒFÙ�™d¨Ô/Ô0Ù�˜aÔ ð$ó ñ
Kóð
Kò
%òð ‡�×Ñ˜Ò$GÓHñ-ó Ið-ñ> Ð,Ð-°WÈ$ÔOñ!9ó Pð!9ñH   Ô(ñEó )ðEñ   Ô(ñ:ó )ð:òNñ   Ô(ñó )ðñ   Ô(ñEó )ðEñ   Ô(ñ:ó )ð:ñ,   Ô(ñ ó )ð ñ.   Ô(ñó )ðò4'ò%ò'òò5ò(ð ‡�×Ñ˜¨°zÐ(BÓCñ);ó Dð);ðX ‡�×Ñ˜¨°zÐ(BÓCñIó DðIò ;òD9òCð ‡�×ÑÐ,¨u°d¨mÓ<ñn7ó =ðn7ðb ‡�×ÑÐ,¨u°d¨mÓ<ñ)ó =ð)ñ@ Óñ(ó ð(ð ‡�×Ñ˜¢	Ó*Ø‡�×ÑÐ,¨u°d¨mÓ<ñ@ó =ó +ð@ð" ‡�×ÑÐ,¨u°d¨mÓ<ñ
@ó =ð
@ð ‡�×ÑÐ,¨u°d¨mÓ<ñ$ó =ð$ð. ‡�×ÑÐ,¨u°d¨mÓ<Ù  Ô(ñ0ó )ó =ð0ò,55òp?ð. ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜ E¨4 =Ó1ñ1+ó 2ó 3ñ1+r   