Ë
    íÍ:j¡/  ã                   ó  — d dl Z d dlZd dlZd dlZd dlmZ d dlm	Z	 d dlm
Z
 d„ Zej                  j                   e j                  «       dk7  d¬«      d	„ «       Zej                  j                   e j                  «       dk7  d¬«      d
„ «       Zd„ Zd„ Zd„ Zd„ Z e	dgd¬«      d„ «       Z e	dgd¬«      d„ «       Z e	dgdd¬«      d„ «       Zd„ Z e	dgdd¬«      d„ «       Z e	dgdd¬«      d„ «       Z e	dgdd¬«      d „ «       Z e	d!gdd¬«      d"„ «       Z e	d#gdd¬«      d$„ «       Zd%„ Zd&„ Zd'„ Z  e	d(gdd¬«      d)„ «       Z!d*„ Z"d+„ Z#d,„ Z$d-„ Z%d3d.„Z&d3d/„Z'ej                  jQ                  d0g d1¢«       e
«       d2„ «       «       Z)y)4é    N)Úpyplot)Úimage_comparison)Úcheck_figures_equalc                 óL  — t        j                  t        j                  ddt         j                  z  d«      t        j                  ddt         j                  z  d«      «      \  }}t        j                  |«      }t        j
                  |«      } | j                  ||fi |¤Ž}|S )Nr   é   é   )ÚnpÚmeshgridÚarangeÚpiÚcosÚsinÚquiver)ÚaxÚkwargsÚXÚYÚUÚVÚQs          úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_quiver.pyÚdraw_quiverr      sy   € Ü�;‰;”r—y‘y  A¬¯©¡I¨qÓ1Ü—y‘y  A¬¯©¡I¨qÓ1ó3�D€A€qä
�‰ˆq‹	€AÜ
�‰ˆq‹	€Aàˆ�	‰	�!�QÑ!˜&Ñ!€AØ€Hó    ÚCPythonzRequires CPython)Úreasonc                  óà   — t        j                  «       \  } }t        |«      }|j                  }t	        j
                  |«      }|j                  «        ~t	        j
                  |«      |k  sJ ‚y ©N)ÚpltÚsubplotsr   r   ÚsysÚgetrefcountÚremove)Úfigr   r   ÚttXÚorig_refcounts        r   Útest_quiver_memory_leakr&      sV   € ô �l‰l‹n�G€Cˆä�B‹€AØ
�#‰#€CÜ—O‘O CÓ(€MØ‡H�H„Jà	ä�?‰?˜3Ó -Ò/Ð/Ñ/r   c            
      óú   — t        j                  «       \  } }t        |«      }|j                  |dddddddi¬«      }t	        j
                  |«      }|j                  «        t	        j
                  |«      |k  sJ ‚y )	Nç      à?gq=
×£pí?r   ú$2 \frac{m}{s}$ÚWÚweightÚbold©ÚlabelposÚfontproperties)r   r   r   Ú	quiverkeyr    r!   r"   )r#   r   r   Úqkr%   s        r   Útest_quiver_key_memory_leakr2   %   su   € ô �l‰l‹n�G€Cˆä�B‹€Aà	�‰�a˜˜d AÐ'9Ø"Ø&.°Ð%7ð 
ó 
9€Bô —O‘O BÓ'€MØ‡I�I„KÜ�?‰?˜2Ó Ò.Ð.Ñ.r   c            	      ó*  — ddg} t        j                  t        d¬«      5  t        j                  | «       d d d «       t        j                  t        d¬«      5  t        j                  | | | | | | «       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)Nr   r   z7takes from 2 to 5 positional arguments but 1 were given©Úmatchz7takes from 2 to 5 positional arguments but 6 were given)ÚpytestÚraisesÚ	TypeErrorr   r   )r   s    r   Útest_quiver_number_of_argsr9   4   s‡   € Ø	
ˆAˆ€AÜ	�‰ÜØKô
Mñ ô 	�
‰
�1Œ÷ô 
�‰ÜØKô
Mñ %ô 	�
‰
�1�a˜˜A˜q !Ô$÷%ð %÷	ð ú÷%ð %ús    A=ÁB	Á=BÂ	Bc                  óV  — ddg} g d¢}t        j                  t        d¬«      5  t        j                  | || | «       d d d «       t        j                  t        d¬«      5  t        j                  | | || «       d d d «       t        j                  t        d¬«      5  t        j                  | | | |«       d d d «       t        j                  t        d¬«      5  t        j                  | | | | |«       d d d «       y # 1 sw Y   Œ¿xY w# 1 sw Y   Œ�xY w# 1 sw Y   Œ_xY w# 1 sw Y   y xY w)	Nr   r   )r   r   é   z?X and Y must be the same size, but X.size is 2 and Y.size is 3.r4   zMArgument U has a size 3 which does not match 2, the number of arrow positionszMArgument V has a size 3 which does not match 2, the number of arrow positionszMArgument C has a size 3 which does not match 2, the number of arrow positions)r6   r7   Ú
ValueErrorr   r   )ÚX2ÚX3s     r   Útest_quiver_arg_sizesr?   @   s  € Ø
ˆQˆ€BÚ	€BÜ	�‰Üð  >ô
@ñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ 'ô 	�
‰
�2�r˜2˜r 2Ô&÷'ð '÷#ð #ú÷#ð #ú÷#ð #ú÷'ð 'ús/   ¤C;Á DÂDÃDÃ;DÄDÄDÄD(c                  óŠ  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||¬«       | j                  j                  «        y )Né   é
   r(   é–   ©Úangles)r   r   r	   r
   r   Ú	ones_likeÚrandomÚrandr   ÚcanvasÚdraw©r#   r   r   r   r   r   Úphis          r   Útest_no_warningsrM   U   s‰   € Ü�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q €IÔ%Ø‡J�J‡O�OÕr   c                  ób  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      t        j                  |«      }}|j                  ||dd¬«       | j                  j                  «        y )NrB   r   )Ú
headlengthÚheadaxislength)
r   r   r	   r
   r   r   r   r   rI   rJ   )r#   r   r   r   r   r   s         r   Útest_zero_headlengthrQ   ^   sr   € ô �l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�6‰6�!‹9”b—f‘f˜Q“i€q€AØ‡I�Iˆa�˜q°€IÔ3Ø‡J�J‡O�OÕr   zquiver_animated_test_image.pngÚmpl20)Ústylec            
      ó€   — t        j                  «       \  } }t        |d¬«      }|j                  |ddddddd	i¬
«       y )NT)Úanimatedr(   g)\�Âõ(ì?r   r)   r*   r+   r,   r-   )r   r   r   r0   ©r#   r   r   s      r   Útest_quiver_animaterW   h   sF   € ô �l‰l‹n�G€CˆÜ�B Ô&€AØ‡L�L��C˜˜qÐ"4Ø¨x¸Ð.@ð õ Br   zquiver_with_key_test_image.pngc                  ó¤   — t        j                  «       \  } }|j                  d«       t        |«      }|j	                  |dddddddd	d
dœ¬«	       y )Nçš™™™™™¹?r(   gffffffî?r   z"$2\, \mathrm{m}\, \mathrm{s}^{-1}$iöÿÿÿÚfigurer*   r,   Úlarge)r+   Úsize)ÚangleÚcoordinatesr.   r/   )r   r   Úmarginsr   r0   rV   s      r   Útest_quiver_with_keyr`   q   sS   € ä�l‰l‹n�G€CˆØ‡J�Jˆs„OÜ�B‹€AØ‡L�L��C˜˜qØ6ØØ%ØØ+1¸7Ñ Cð õ Er   zquiver_single_test_image.pngTÚ_classic_test)Úremove_textrS   c                  ó„   — t        j                  «       \  } }|j                  d«       |j                  dgdgdgdg«       y )NrY   r   r   )r   r   r_   r   ©r#   r   s     r   Útest_quiver_singlere   ~   s8   € ô �l‰l‹n�G€CˆØ‡J�Jˆs„OØ‡I�Iˆqˆc�A�3˜˜˜a˜SÕ!r   c                  ó  — t        j                  «       \  } }t        t        j                  dg«      t        j                  dg«      ¬«      }|j                  dgdg|d   |d   «      }d|d   d<   |j                  d   dk(  sJ ‚y )Nçš™™™™™ñ?g       @)ÚuÚvr   rh   ri   r   )r   r   Údictr	   Úarrayr   r   )r#   r   ÚuvÚq0s       r   Útest_quiver_copyrn   †   sr   € Ü�l‰l‹n�G€CˆÜ	”—‘˜#˜“¤2§8¡8¨S¨E£?Ô	3€BØ	�‰�A�3˜˜˜R ™W b¨¡gÓ	.€BØ€B€s�GˆA�JØ�4‰4�‰7�cŠ>Ð‰>r   zquiver_key_pivot.pngc                  ó"  — t        j                  «       \  } }t        j                  ddt        j                  z  d…ddt        j                  z  d…f   \  }}|j                  t        j                  |«      t        j                  |«      «      }|j                  dd«       |j                  dd«       |j                  |ddddd¬	«       |j                  |dddd
d
¬	«       |j                  |ddddd¬	«       |j                  |ddddd¬	«       y )Nr   r   y              $@éþÿÿÿé   r(   r   ÚN)r.   ÚEÚSr*   )r   r   r	   Úmgridr   r   r   r   Úset_xlimÚset_ylimr0   )r#   r   rh   ri   Úqs        r   Útest_quiver_key_pivotry   Ž   sà   € ä�l‰l‹n�G€Cˆä�8‰8�A�aœŸ™‘g˜c�M 1 Q¤r§u¡u¡W¨S =Ð0Ñ1�D€A€qà
�	‰	”"—&‘&˜“)œRŸV™V A›YÓ'€AØ‡K�K��BÔØ‡K�K��BÔØ‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÔ1Ø‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÕ1r   zquiver_key_xy.pngc                  ó  — t        j                  d«      } t        j                  d«      }| t         j                  dz  z  }t        j                  d|z  «      }|j
                  }|j                  }t        j                  d«      \  }}t        |d«      D ]p  \  }}	|j                  dd«       |j                  dd«       |j                  | |||d	d
ddd
|	¬«
      }
t        dd«      D ]  \  }}|j                  |
|dd|dd¬«       Œ Œr y )Né   é   y              ð?r   )rl   Úxyéÿÿÿÿgš™™™™™É¿çš™™™™™É?Úmiddler}   gš™™™™™©?)ÚpivotÚunitsÚwidthÚscaleÚscale_unitsrE   )r   r(   çš™™™™™é?)r   é-   éZ   r†   r   Ú Úb)r   r   r   r]   ÚlabelÚcolor)r	   r   Úzerosr   ÚexpÚrealÚimagr   r   Úziprv   rw   r   r0   )r   r   rE   rl   r   r   r#   Úaxsr   Ú	angle_strrx   Úxr]   s                r   Útest_quiver_key_xyr•   �   sþ   € ô 	�	‰	�!‹€AÜ
�‰�‹€AØ”"—%‘%˜!‘)‰_€FÜ	�‰��V‘Ó	€BØ
�‰€AØ
�‰€AÜ�|‰|˜A‹�H€CˆÜ˜S ,Ó/ò O‰ˆˆIØ
�‰�B˜ÔØ
�‰�D˜#ÔØ�I‰I�a˜˜A˜q¨Ø ¨Ø¨4Ø&ð ó (ˆô ˜O¨[Ó9ò 	O‰HˆAˆuØ�L‰L˜˜a 3¨!°5ÀÈ#ˆLÕNñ	OñOr   zbarbs_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||t        j                  ||«      ddt        ddd¬	«      d
¬«	       y )Néûÿÿÿé   é   TFç      Ð?r   ç333333Ó?©Ú	emptybarbÚspacingÚheightÚviridis)Ú
fill_emptyÚroundingÚsizesÚcmap)r	   Úlinspacer
   r   r   ÚbarbsÚhypotrj   ©r”   r   r   r   r   r#   r   s          r   Ú
test_barbsr©   µ   s€   € ä
�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�aœŸ™ ! Q›°DÀ5Ü $°¸CÔ@Øð õ r   zbarbs_pivot_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      ¬«       |j                  ||dd¬«       y )Nr—   r˜   r™   TFç333333û?rš   r   r›   rœ   )r¡   r¢   r�   r£   é1   Úblack)ÚsÚc)r	   r¥   r
   r   r   r¦   rj   Úscatterr¨   s          r   Útest_barbs_pivotr±   À   sŠ   € ô 	�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@ð ô Bà‡J�Jˆq�!�r˜W€JÕ%r   zbarbs_test_flip.pngc                  óø   — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      |dk  ¬«	       y)z'Test barbs with an array for flip_barb.r—   r˜   r™   TFr«   rš   r   r›   rœ   r   )r¡   r¢   r�   r£   Ú	flip_barbN)r	   r¥   r
   r   r   r¦   rj   r¨   s          r   Útest_barbs_flipr´   Ì   s|   € ô 	�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@Ø˜1‘uð õ r   c                  ó  — t        j                  «       \  } }t        j                  dg«      }t        j                  dg«      }|j	                  dgdg||«      }d|d<   |j
                  d   dk(  sJ ‚d|d<   |j                  d   dk(  sJ ‚y )Nrg   gš™™™™™@r   r   )r   r   r	   rk   r¦   rh   ri   )r#   r   rh   ri   Úb0s        r   Útest_barb_copyr·   Ø   s�   € Ü�l‰l‹n�G€CˆÜ
�‰�#�‹€AÜ
�‰�#�‹€AØ	�‰�1�#˜�s˜A˜qÓ	!€BØ€A€a�DØ�4‰4�‰7�cŠ>Ðˆ>Ø€A€a�DØ�4‰4�‰7�cŠ>Ð‰>r   c                  óR  — t        j                  d«      } t        j                  d«      }t         j                  j                  dt        j                  d«      z  «      }t         j                  j                  dt        j
                  |«      z  «      }t         j                  j                  |d<   t         j                  j                  |d<   t        j                  «       \  }}t        j                  t        «      5  |j                  | |||«       ddd«       y# 1 sw Y   yxY w)z=Test error handling when given differing sized masked arrays.r;   g      .@)r|   r   N)r	   r   Úmark   ÚonesrF   Úmaskedr   r   r6   r7   r<   r¦   )r”   Úyrh   ri   r#   r   s         r   Útest_bad_masked_sizesr½   ã   s¾   € ä
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�‰�‰�Cœ"Ÿ'™' $›-Ñ'Ó(€AÜ
�‰�‰�Cœ"Ÿ,™, q›/Ñ)Ó*€AÜ�5‰5�<‰<€A€a�DÜ�5‰5�<‰<€A€a�DÜ�l‰l‹n�G€CˆÜ	�‰”zÓ	"ñ Ø
�‰��A�q˜!Ô÷÷ ñ ús   Ã?DÄD&c                  óX  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||d¬«       y )NrA   rB   r(   rC   r}   ©rE   r…   )	r   r   r	   r
   r   rF   rG   rH   r   rK   s          r   Útest_angles_and_scalerÀ   ð   s}   € ä�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q °$€IÕ7r   zquiver_xy.pngc            	      óâ   — t        j                  t        d¬«      ¬«      \  } }|j                  ddddddd¬«       |j	                  dd«       |j                  dd«       |j                  «        y )	NÚequal)Úaspect)Ú
subplot_kwr   r   r}   )rE   r…   r„   rg   )r   r   rj   r   rv   rw   Úgridrd   s     r   Útest_quiver_xyrÆ   ù   sZ   € ô �l‰l¤d°'Ô&:Ô;�G€CˆØ‡I�Iˆa��A�q °4¸q€IÔAØ‡K�K��3ÔØ‡K�K��3ÔØ‡G�G…Ir   c                  ó¼  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}x}}|j                  |||||¬«      }|j                  |dddd«      }| j                  j                  «        t        |j                  j                  «       «      dk(  sJ ‚y )Nr   rD   r   ÚLabel)r   r   r	   r
   r   rF   r   r0   rI   rJ   ÚlenÚvectorÚ	get_paths)	r#   r   r   r   r   r   rE   rx   r1   s	            r   Útest_quiverkey_anglesrÌ     sª   € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ—\‘\ !“_Ð$€AÐ$ˆˆFà
�	‰	�!�Q˜˜1 Vˆ	Ó,€AØ	�‰�a˜˜A˜q 'Ó	*€Bà‡J�J‡O�OÔÜˆr�y‰y×"Ñ"Ó$Ó%¨Ò*Ð*Ñ*r   c                  ób  — ddidddœddig} | D �]  }t        j                  t         j                   t         j                  d«      }t        j                  |«      t         j                  z  dz  }t        j                  |«      }t        j                  |«      }t        j                  «       }|j                  d¬«      } |j                  ||||fi |¤Ž}|j                  |d	d	d
d«      }	|j                  j                  «        t        |	j                  j                  «       «      d
k(  r�ŒJ ‚ y )NrE   r}   r¿   r…   rq   é   Úaitoff)Ú
projectionr   r   ú1 units)r	   r¥   r   rF   Ú
zeros_liker   rZ   Úadd_subplotr   r0   rI   rJ   rÉ   rÊ   rË   )
Úkwargs_listÚkwargs_dictr”   r¼   ÚvxÚvyr#   r   rx   r1   s
             r   Útest_quiverkey_angles_xy_aitoffrØ     s   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ó /ˆä�K‰KœŸ™˜¤§¡ rÓ*ˆÜ�L‰L˜‹OœbŸe™eÑ# aÑ'ˆÜ�]‰]˜1ÓˆÜ�\‰\˜!‹_ˆä�j‰j‹lˆØ�_‰_¨ˆ_Ó1ˆØˆB�I‰I�a˜˜B Ñ2 kÑ2ˆØ�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—9‘9×&Ñ&Ó(Ó)¨QÔ.Ð.Ð.ñ/r   c            	      ó€  — ddidddœddig} | D ]­  }g d¢}g d¢}g d¢}g d¢}t        j                  «       \  }} |j                  ||||fi |¤Ž}|j                  |dd	d
dd¬«       |j                  |ddd
d«      }	|j                  j                  «        t        |	j                  j                  «       «      d
k(  rŒ­J ‚ y )NrE   r}   r¿   r…   )r   r~   r   )r   r~   r   )r   r~   r   r›   rg   r   zQuiver key, length = 1rs   )r   r   r   r‹   r.   r   rÑ   )	r   r   r   r0   rI   rJ   rÉ   rÊ   rË   )
rÔ   rÕ   r   r   r   r   r#   r   rx   r1   s
             r   Ú+test_quiverkey_angles_scale_units_cartesianrÚ   /  sÕ   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ò /ˆÚˆÚˆÚˆÚˆä—,‘,“.‰ˆˆRØˆB�I‰I�a˜˜A˜qÑ0 KÑ0ˆØ
�‰�Q˜# ¨Ø3¸cð 	ô 	Cà�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—9‘9×&Ñ&Ó(Ó)¨QÓ.Ð.Ð.ñ/r   c                  ó*  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}|j                  ||||«      }|j                  dd«       y)zBCheck that it is possible to set all arrow UVC to the same numbersr   r   r   N)r   r   r	   r
   r   rF   r   Úset_UVC)r#   r   r   r   r   r   rx   s          r   Útest_quiver_setuvc_numbersrÝ   J  sj   € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ�L‰L˜‹OÐ€Aˆà
�	‰	�!�Q˜˜1Ó€AØ‡I�Iˆa�…Or   c                 óþ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |€2|j                  |	d	d	d
ddd¬«       |j                  |	ddddddd¬«       y|j                  |	d	d	d
ddd|¬«       |j                  |	ddddddd|¬«	       y)z/Draw Quiver and QuiverKey using zorder argumentr   rÎ   ©r   r   r€   ©r�   r(   ç      @Nr|   é   Údatar   Úblue©r^   r‹   rŒ   r   é   r   rˆ   ©r^   r‹   rŒ   r]   )r^   r‹   rŒ   Úzorder)r^   r‹   rŒ   r]   rè   )r	   r   r
   r   r   rv   rw   r0   )
r#   rè   r”   r¼   r   r   r   r   r   rx   s
             r   Údraw_quiverkey_zorder_argumentré   V  s  € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ€~Ø
�‰�Q˜˜1˜b¨fØ fð 	ô 	.à
�‰�Q˜˜Q °Ø f°Bð 	õ 	8ð 	�‰�Q˜˜1˜b¨fØ f°Vð 	ô 	=à
�‰�Q˜˜Q °Ø f°B¸vð 	õ 	Gr   c           
      óÜ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |j                  |	ddd	d
dd¬«      }
|j                  |	dddd
ddd¬«      }|�#|
j                  |«       |j                  |«       yy)z*Draw Quiver and QuiverKey using set_zorderr   rÎ   rß   r€   rà   r(   rá   r|   râ   rã   r   rä   rå   r   ræ   r   rˆ   rç   N)	r	   r   r
   r   r   rv   rw   r0   Ú
set_zorder)r#   rè   r”   r¼   r   r   r   r   r   rx   Úqk1Úqk2s               r   Údraw_quiverkey_setzorderrî   m  së   € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ
�,‰,�q˜!˜Q °Ø ¨ð ó 0€Cà
�,‰,�q˜#˜q "°&Ø ¨°bð ó :€CàÐØ�‰�vÔØ�‰�vÕð r   rè   )r   r   r˜   Nc                 ó8   — t        | |¬«       t        ||¬«       y )N)rè   )ré   rî   )Úfig_testÚfig_refrè   s      r   Útest_quiverkey_zorderrò   �  s   € ô # 8°FÕ;Ü˜W¨VÖ4r   r   )*Úplatformr    Únumpyr	   r6   Ú
matplotlibr   r   Úmatplotlib.testing.decoratorsr   r   r   ÚmarkÚskipifÚpython_implementationr&   r2   r9   r?   rM   rQ   rW   r`   re   rn   ry   r•   r©   r±   r´   r·   r½   rÀ   rÆ   rÌ   rØ   rÚ   rÝ   ré   rî   Úparametrizerò   © r   r   ú<module>rü      sI  ðÛ Û 
ã Û å $Ý :Ý =òð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ
0ó/ð
0ð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ
/ó/ð
/ò	%ò'ò*òñ Ð3Ð4¸GÔDñBó EðBñ Ð3Ð4¸GÔDñ	Eó Eð	Eñ Ð1Ð2ÀØ'ô)ñ"ó)ð"òñ Ð)Ð*¸ÀGÔLñ2ó Mð2ñ Ð&Ð'°TÀÔQñOó RðOñ. Ð)Ð*¸ÀOÔTñó Uðñ Ð/Ð0¸dØ'ô)ñ&ó)ð&ñ Ð(Ð)°tÀ?ÔSñó Tðòò
ò8ñ �?Ð#°¸_ÔMñó Nðò+ò/ò:/ò6	óGó.ð( ‡�×Ñ˜¢?Ó3ÙÓñ5ó ó 4ñ5r   