
    
3jW                        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_xelatexzTreat 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/ S9 V	V
VVVs/ s H  u  ppoP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)hatchcolors)	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                    ]/home/wildlama/miniconda3/lib/python3.13/site-packages/matplotlib/tests/test_backend_bases.pycheck!test_uses_per_path.<locals>.check   s    ^66^5 6	YY[""uS^,g223CD2rE7xR	 # 121 927w1 	 2 007
D;;sc)n=Dt9%%tax&67777 2s   <C1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_pathrK      sl   				B8=aD1TYY++A.EDAFq!MAyy|..0557OMiim##G,G!J!J8$ 
"_zF	"Aaj/JK	"b/JC	"_Qq)7
K	"Rj91gmmA&'b!A#q&/	& ( 
"_r:>	"_z2>	"_r26	"_z!A
KG EMs   )E#6E(c                  V    [        [        5       R                  [        5      (       d   eg N)
isinstancer   figurer        r;   test_canvas_ctorrR   >   s    &(//8888rQ   c                      [         R                  " 5       n U R                  R                  5       S:X  d   eU R                  R                  R                  S5        U R                  R                  5       S:X  d   eg )NzFigure_1.pngz0:1/2<3z0_1_2_3.png)pltrO   canvasget_default_filenamemanagerset_window_titlefigs    r;   test_get_default_filenamer[   B   s[    
**,C::**,>>>JJ''	2::**,===rQ   c                      [         R                  " 5       n [        U 5      n[         R                  " U 5        [         R                  " U R
                  5      (       a   eg rM   )rT   rO   r   closefignum_existsnumber)rZ   rU   s     r;   test_canvas_changer`   I   s@    
**,Cc"FIIcN  ,,,,,rQ   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   )rT   subplotssetenvpytestwarnsUserWarningshowr#   strmessagegcf)monkeypatchrecs     r;   test_non_gui_warningro   R   s    LLNy&)	k	"c
3x1}}Ns1v~~&' 	( ' 
# 
k	"c	3x1}}Ns1v~~&' 	( ' 
#	" 
#	" 
#	"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 rM   )rT   rd   rU   
grab_mousemouse_grabberclearrZ   axs     r;   test_grab_clearrv   e   sX    llnGCJJ"::##r)))IIK::##+++rQ   zx, y))*      )Nrw   )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foorP   )xs    r;   <lambda>.test_location_event_position.<locals>.<lambda>   s    rQ   z(x, y) = (foo, foo))rT   rd   r   r   r   intrN   yformat_coordformat_xdataformat_ydata	fmt_xdata	fmt_ydata)r   r   rZ   ru   rU   events         r;   test_location_event_positionr   o   s#    llnGCc"F,15Eywwww#a&   %''3''''ywwww#a&   %''3''''}% 232booa6H5IKL 	M L&55r|q$(====	 '}rQ   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))rT   rd   r(   r   twinxtwinyrt   s     r;   !test_location_event_position_twinr      s    llnGCFFgF&??2r"&====HHJNNN ??2r"&LLLLHHJNNNOOB#DE F ErQ   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rQ   
pick_eventkey_press_eventr   button_press_eventr   r   key_release_eventr   )rT   rO   textrU   drawmpl_connectr   _processr	   transFigure	transformr   LEFTr#   )rZ   r   r   s     @r;   	test_pickr      s    
**,CHHRWhtHDJJOOE JJ<5

C099;#SZZ !))(3!!!) #**c2;;=u:??rQ   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)rT   rd   r(   get_navigate_moder
   rU   zoomget_xlimget_ylim	transDatar   astyper   r	   r   r   	callbacksprocessnamexdataydataRIGHTrf   approxget_autoscalex_onget_autoscaley_on)rZ   ru   tbxlim0ylim0d0d1s0s1start_event
stop_events              r;   test_interactive_zoomr      s   llnGCFF'F!)))	CJJ	'BGGI!V+++KKMEKKME 
B	B 
			#	*	*3	/B				#	*	*3	/B cjjA+-A/:/?/?AKJJ  !1!1;?

C-/C1<1A1ACJJJ  *=;;=[..
0@0@AAAA;;=[..
0@0@AAAA cjjB+-B/:/@/@BKJJ  !1!1;?

D-/D1<1B1BDJJJ  *=;;=FMM%QEBBBB;;=FMM%QEBBBBGGI!)))##%%b.B.B.D.DDD.DrQ   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   )	rT   rd   plotrU   
widgetlockr
   r   r   pan)rZ   ru   r   s      r;   test_widgetlock_zoompanr      s    llnGCGGQFQFJJ"	CJJ	'BGGI!)))FFH!)))rQ   	plot_funcimshowcontourforientationvertical
horizontalztool,button,expectedr         )i   r   )   )gQ?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                  XUS9nU S:X  a"  UR                  R                  5       (       a   eg UR                  R                  5       (       d   eSu  pU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SU10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)ru   r   r   r   r   r   r   motion_notify_eventbuttonsr   r   333333?r   )rT   rd   r&   rD   rE   getattrcolorbarru   get_navigater   r   r   r   r	   rU   r
   r   
press_zoom	drag_zoomrelease_zoomr   	press_pandrag_panrelease_panr   r   rf   r   )r   r   toolbuttonexpectedrZ   ru   datavmin0vmax0collcbr   r   r   r   r   r   r   
drag_eventr   r   s                         r;   test_interactive_colorbarr      s)    llnGC99R=  (DLE2!$?D	d{	;BJ55%%''''55 JD
 B
Bj "X"X 
	"	"2	&	-	-c	2B		"	"2	&	-	-c	2B cjj7+-7/57KszzJ,.J06JAGJJ

9-/9179J 
CJJ	'Bv~
	
k"
Z 

#

[!
J
z" GGRWWxT!BBBBrQ   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)rf   rg   rh   _EXPECTED_WARNING_TOOLMANAGERrT   rcParamsgca
get_figurer   rU   rW   r  trigger_tool)ru   rZ   s     r;   test_toolbar_zoompanr	    s    	k)F	G"/Y 
H	B
--/C!)))JJ""//7!V+++JJ""//6!U*** 
H	Gs   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   kd   l)r   r   r   )r   r   )r   r   r   r   h)rT   rd   r   r"   r
   rU   r   r   r   r   r   r   r   r	   r   r   )rZ   ru   r   startstops        r;   $test_toolbar_home_restores_autoscaler  +  s   llnGCGGE"IuRy!	CJJ	'BGGI 

Cc:CCE

Cc:CCE;;=BKKM4W44444

Cc:CCE

Cc:CCE;;=BKKM4W44444 ,,((&&)9:KE#SZZJ%J9I9IJSSU%szzKDK+:J:JKTTV

C099;;;=BKKM4W44444

Cc:CCE

Cc:CCE;;=BKKM4W44444rQ   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  oR                  5       PM     n
n	UR                  R                  5         UR                  R                  5         UR                  5        V	s/ s H  oR                  5       PM     nn	UR                  5        V	s/ s H  oR                  5       PM     nn	[        X5       H!  u  p[        R                  " XSS	9(       d  M!   e   [        X5       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{Gzt?)atol)matplotlib.figurer   matplotlib.backends.backend_aggr  	importlibimport_modulerd   ravelget_positionrU   r   zipr&   allclosetestingassert_allclose)r  r   r  test_backend
TestCanvasfig_test	axes_testfig_aggaxes_aggru   init_poslayed_out_pos_testlayed_out_pos_agginitplacedreftests                    r;   	test_drawr3  I  se   
 )<**-I'+STL**J.Hx!!!Q'I -G1%H,5OO,=>,=b!,=H>OONN6?oo6GH6G//+6GH5=^^5EF5Er*5EFH9;;t%8888 : *?	T


""35"9 @ ?
 IFs   F%FFz&key,mouseend,expectedxlim,expectedylim))N皙?r5  gQ@g{G(@g@gffffff'@)N)r5  r   r6  r   	   )N)r   r5  r8  r7  )Nr   r8  r8  )Nr         ?g(\gQ@g      @g     &@)Nr5  r;  r6  r=  )N)r   333333?r<  gQ	gq=
ףp@)Nr5  r?  r6  r@  )shift)r5  皙?r6  r8  )rB  rC  r5  r8  r7  )rB  r>  r6  r6  )rB  r:  r<  )g(\@gq=
ף(@)rB  )r   g?gp=
ףgp=
ף@rE  )rB  rA  r6  )gQg
ףp=
@)r   )r5  r   r6  r8  )r   )r   r5  r8  r7  )controlr4  r6  r6  )rF  rD  g(\@gq=
ףp'@rG  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                  [        R                  1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   )r   r   r   r   g{Gz?r   )rT   rd   r   r&   rD   r   
set_aspectr   r   r   r   r	   rU   r   r   r
   r   r   r   r   tupler   rf   r   r   )r   mouseendexpectedxlimexpectedylimrZ   ru   
mousestartsstartsendr   r   r   r   s                r;   test_interactive_panrR  k  s   , llnGCGGBIIbM??MM' J \\##J/66s;F<<!!(+2237D cjj+1:E:J:JK szz-,0-9D9I9I!!"-J 

-1:E:J:JJ 
CJJ	'BFFHLLKK
NN:6==4#HHHH6==4#HHHHrQ   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   )rf   rg   rh   r  rT   r  rl   r#   rU   rW   r  toolsremove_tool)rZ   initial_lens     r;   test_toolmanager_removerX    s    	k)F	G"/Y 
H
'')Ccjj((44::;K

**66<<<<<JJ""..y9szz!!--334aGGGCJJ..::@@@@@ 
H	Gs   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'r~   F)warn)rf   rg   rh   r  rT   r  rl   rU   rW   r  get_toolrN   r   r  )rZ   rZ  s     r;   test_toolmanager_get_toolr]    sb   	k)F	G"/Y 
H
'')C##//88FJj.1111::))22:>*LLL	kE
Gzz!!--66u=EEE
G ::))225u2EMMM	kE
Gzz!!--::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  vrT  z"Key c changed from back to forwardcz'foo' not in Toolsr~   )rf   rg   rh   r  rT   r  rl   rU   rW   r  get_tool_keymapupdate_keymapraisesKeyErrorrY   s    r;   test_toolmanager_update_keymapre    s   	k)F	G"/Y 
H
'')C#**$$00@@KKKK	k@
B

&&44YD
B ::))99)DMMM	x';	<

&&44UC@ 
=	< 
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  pXv4 H!  nUR                  " U
6   UR                  " U6   M#     Su  pnnUR                  R                  X4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SU106n[%        SUR&                  /UQUP76 n[)        UR&                  5      nU S:X  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         GOhUR2                  " / UQUP76   UR4                  " US /UQ76 R6                  R                  [8        5      u  nnUR;                  5         UR-                  5       SL aY  UR2                  " / UQUP76   UR4                  " US /UQ76 R6                  R                  [8        5      u  nnUR;                  5         OUR-                  5       SL a  U
nUnO|UR                  R/                  5       (       dY  UR2                  " / UQUP76   UR4                  " US /UQ76 R6                  R                  [8        5      u  nnUR;                  5         OU
nUnUR=                  5         UR?                  5         UR?                  5         UR?                  5         URA                  5       [B        RD                  " USS9:X  d   eURG                  5       [B        RD                  " USS9:X  d   eURA                  5       [B        RD                  " USS9:X  d   eURG                  5       [B        RD                  " USS9:X  d   eURA                  5       [B        RD                  " URA                  5       SS9:X  d   eURA                  5       [B        RD                  " U	RA                  5       SS9:X  d   eg )N   c   )zorderrk        rj  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   r   r   inoutTFr   r   )$rT   rd   add_subplotset_forward_navigation_eventspatchset_visiblesharexshareyr   	set_labelset_facecolorset_xlimset_ylimr   r   r   r   invertedr	   rU   r
   _prepare_view_from_bboxget_forward_navigation_eventsget_visibler   	start_pan_get_pan_pointsTfloatend_panr   r   r   rf   r   r   ) r   r   rf  rg  ri  rZ   ru  rr  rs  rv  	init_xlim	init_ylimru   xstart_txstop_tystart_tystop_tr   r   xstart_bystart_bxstop_bystop_br   r   r   r   	directionxlim_tylim_txlim_bylim_bs                                    r;    test_interactive_pan_zoom_eventsr    s^    IC??3r?*D&&{3JJ9% g~OOC(	OOC(		JJL	JJL	 	NN6JJ^,$OO!!#&NN6JJ^,$OO!!#&
 ,Il
Y
Y 
 ,6(Hx 
	!	!8"6	7	>	>s	CB		!	!7G"4	5	<	<S	AB 002<<R@Hh~~..0::2>GW 13::KKFKKszzJ,.J06JAGJJ2CJJLLVLJ	CJJ	'Bv~#q[Te	55jjRj)L--/47!99*B**iPNFF//1U:FF::))++!%!=!=jjRj)!T""
	
 	##F#--fd@R@BBII%P--/47NN'B''!11&$DDFFMMeTNFFLLN//1U:FF::))++++F+!%!5!5fd!HR!H!J!J!Q!QRW!X""
==?fmmF======?fmmF======?fmmF======?fmmF==== ==?fmmI,>,>,@dKKKK==?fmmI,>,>,@dKKKKrQ   )3r  
matplotlibr   r   matplotlib.backend_basesr   r   r   r   r	   r
   r   matplotlib.backend_toolsr   r  r   matplotlib.testing._markersr   matplotlib.pyplotpyplotrT   numpyr&   rf   r  rK   rR   r[   r`   markr  ro   rv   parametrizer   r   r   r   r   r   r   r   r	  r  paramr3  rR  rX  r]  re  r  rP   rQ   r;   <module>r     s    '& & & 4 $ 9   9 %LP9>- U( ($, 
NP>P>,F&-E`* x&<=\(BC/!;#3#3V<!;#4#4i@ +"2"2G< +"3"3\BDE
5CE D >5Cp	+5< tUU*;<>:	:< ,*!I+*!IHAJ"
A &%1K$4$4k6G6G#HItUm4(=> 12uL 3 ? 5 J 2
uLrQ   