+
    NV-jí<  ã                  ó†  € ^ RI Ht ^ RIHt ^ RIHt ^ RIt^ RIt^ RI	t
^ RIHt ^ RIHt ^ RIHtHtHt ]'       d/   ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RI H!t!H"t" R R lt#R R lt$R R lt%R)R R llt&R*R R llt'R+R R llt(R R lt)R R lt*R R  lt+R! R" lt,R,R# R$ llt-R% R& lt.R' R( lt/R# )-é    )Úannotations)Úceil)ÚTYPE_CHECKINGN)Úfind_stack_level)Úis_list_like)ÚABCDataFrameÚABCIndexÚ	ABCSeries)Ú	GeneratorÚIterable)ÚAxes)ÚAxis)ÚFigure)ÚLine2D)ÚTable)Ú	DataFrameÚSeriesc               ó    € V ^8„  d   QhRRRR/# )é   Úfigr   ÚreturnÚbool© )Úformats   "Úr/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/plotting/_matplotlib/tools.pyÚ__annotate__r   &   s   € ÷ ,ñ ,˜&ð , Tñ ,ó    c                óT   € \        V R4      '       g   R# V P                  4       '       * # )z+Whether fig has constrained_layout enabled.Úget_constrained_layoutF)Úhasattrr   )r   s   &r   Údo_adjust_figurer!   &   s%   € ä�3Ð0×1Ò1ÙØ×)Ñ)Ó+Ô+Ð+r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   ÚNoner   )r   s   "r   r   r   -   s   € ÷ -ñ -˜Vð -¸ñ -r   c                óP   € \        V 4      '       d   V P                  ! V/ VB  R# R# )zCCall fig.subplots_adjust unless fig has constrained_layout enabled.N)r!   Úsubplots_adjust)r   ÚargsÚkwargss   &*,r   Úmaybe_adjust_figurer(   -   s%   € ä˜×ÒØ×Ò˜TÐ, VÔ,ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   Úaxr   r   r#   r   )r   s   "r   r   r   3   s   € ÷ -ñ -˜4ð -¨ñ -r   c                ó¾   € V P                  4        F%  pVP                  R 4       VP                  V4       K'  	  V P                  4       pVe   \	        VRR7       R# R# )ÚrightNgš™™™™™É?)Úbottom)Úget_xticklabelsÚset_horizontalalignmentÚset_rotationÚ
get_figurer(   )r*   ÚrotÚlabelr   s   &&  r   Úformat_date_labelsr4   3   sR   € à×#Ñ#Ö%ˆØ×%Ñ% gÔ.Ø×Ñ˜3Öñ &ð �-‰-‹/€CØ
‚ä˜C¨×,ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚdatazDataFrame | Seriesr   r   r   )r   s   "r   r   r   >   s   € ÷ ñ Ø ðà
ñr   c           	     ó:  € \        V\        4      '       d   VP                  4       pM"\        V\        4      '       d   M\	        R 4      hVf   VP
                  pVf   VP                  pVP                  p\        P                  P                  ! V 3RVRVRV/VB # )z&Input data must be DataFrame or SeriesÚcellTextÚ	rowLabelsÚ	colLabels)
Ú
isinstancer
   Úto_framer   Ú
ValueErrorÚindexÚcolumnsÚvaluesÚmplÚtable)r*   r6   r9   r:   r'   r8   s   &&&&, r   rB   rB   >   sŸ   € ô �$œ	×"Ò"Ø�}‰}‹‰Ü	�Dœ,×	'Ò	'ØäÐAÓBÐBàÒØ—J‘Jˆ	àÒØ—L‘Lˆ	à�{‰{€Hô �9‰9�?Š?Ø
ñàðð ðð ð	ð
 ñð r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   ÚnplotsÚintÚlayoutztuple[int, int] | NoneÚlayout_typeÚstrr   ztuple[int, int]r   )r   s   "r   r   r   [   s0   € ÷ -ñ -Øð-à"ð-ð ð-ð ñ	-r   c                ó�  € VeÂ   \        V\        \        34      '       d   \        V4      ^8w  d   \	        R4      hVw  r4VR	8X  d   V^ 8”  d   \        W,          4      V3pM=VR	8X  d   V^ 8”  d   V\        W,          4      3pMV^ 8:  d   V^ 8:  d   Rp\	        V4      hVw  r4W4,          V 8  d   \	        RV RV RV  24      hV# VR8X  d   R
# VR8X  d   ^V 3# VR8X  d   V ^3# ^R
^R^R^R/p W`,          #   \         dC    ^pT^,          T 8  d   T^,          pK  T^,
          T,          T 8¼  d   Yw^,
          3u # Yw3u # i ; i)Nz)Layout must be a tuple of (rows, columns)z1At least one dimension of layout must be positivez
Layout of Úxz# must be larger than required size ÚsingleÚ
horizontalÚverticaléÿÿÿÿ)é   rO   )rO   r   )r   r   )r;   ÚtupleÚlistÚlenr=   r   ÚKeyError)rD   rF   rG   ÚnrowsÚncolsÚmsgÚlayoutsÚks   &&&     r   Ú_get_layoutrY   [   sl  € ð
 ÒÜ˜&¤5¬$ -×0Ò0´C¸³KÀ1Ô4DÜÐHÓIÐIà‰ˆà�BŒ;˜5 1œ9Ü˜6�>Ó*¨EÐ2‰FØ�bŒ[˜U QœYØœT &¥.Ó1Ð2‰FØ�aŒZ˜E QœJØEˆCÜ˜S“/Ð!à‰ˆØ�=˜6Ô!ÜØ˜U˜G 1 U GÐ+NÈvÈhÐWóð ð ˆà�hÔØˆØ	˜Ô	$Ø�6ˆ{ÐØ	˜
Ô	"Ø˜ˆ{Ðà�&˜!˜V Q¨°°6Ð:€Gð
Ø�ÐøÜô ØˆØ��d�VŒmØ��FŠAà��E�Q�;˜&Ô Ø˜1•u�:Òà�4ŠKðús   Ã0C8 Ã8AEÄ?EÅEc          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   ÚnaxesrE   Úsharexr   ÚshareyÚsqueezerG   rH   r   )r   s   "r   r   r   Ž   sA   € ÷ uñ uØðuàðuð ðuð ð	uð ñur   c           	     ó|  € ^ RI Hp	 Vf   / pVf   V	P                  ! R/ VB p
EM^\        V4      '       dÐ   V'       d&   \        P
                  ! \        V4      \        R7      pVe&   \        P                  ! R\        \        4       R7       V'       g	   V'       d&   \        P                  ! R\        \        4       R7       VP                  V 8X  d%   VP                  ^ ,          P                  4       p
W¥3# \        RV  R24      hVP                  4       p
V ^8X  d3   V'       d   W¥3# V
\        P
                  ! \        V4      \        R7      3# \        P                  ! R\        \        4       R7       V
P!                  4        \#        WVR	7      w  r¼W¼,          p\        P$                  ! V\        R7      pV
P&                  ! W¼^3/ VB pV'       d   WôR
&   V'       d   WôR&   Wþ^ &   \)        ^V4       FC  pVP+                  4       pVV 8¼  d   RVR
&   RVR&   V
P&                  ! W¼V^,           3/ VB pW^V&   KE  	  W8w  d   WàR  F  pVP-                  R4       K  	  \/        WíWWÁV4       V'       d9   V^8X  d   V^ ,          pV
V3# VP1                  W¼4      P3                  4       p V
V3# VP1                  W¼4      pV
V3# )a´  
Create a figure with a set of subplots already made.

This utility wrapper makes it convenient to create common layouts of
subplots, including the enclosing figure object, in a single call.

Parameters
----------
naxes : int
  Number of required axes. Exceeded axes are set invisible. Default is
  nrows * ncols.

sharex : bool
  If True, the X axis will be shared amongst all subplots.

sharey : bool
  If True, the Y axis will be shared amongst all subplots.

squeeze : bool

  If True, extra dimensions are squeezed out from the returned axis object:
    - if only one subplot is constructed (nrows=ncols=1), the resulting
    single Axis object is returned as a scalar.
    - for Nx1 or 1xN subplots, the returned object is a 1-d numpy object
    array of Axis objects are returned as numpy 1-d arrays.
    - for NxM subplots with N>1 and M>1 are returned as a 2d array.

  If False, no squeezing is done: the returned axis object is always
  a 2-d array containing Axis instances, even if it ends up being 1x1.

subplot_kw : dict
  Dict with keywords passed to the add_subplot() call used to create each
  subplots.

ax : Matplotlib axis object, optional

layout : tuple
  Number of rows and columns of the subplot grid.
  If not specified, calculated from naxes and layout_type

layout_type : {'box', 'horizontal', 'vertical'}, default 'box'
  Specify how to layout the subplot grid.

fig_kw : Other keyword arguments to be passed to the figure() call.
    Note that all keywords not recognized above will be
    automatically included here.

Returns
-------
fig, ax : tuple
  - fig is the Matplotlib Figure object
  - ax can be either a single axis object or an array of axis objects if
  more than one subplot was created.  The dimensions of the resulting array
  can be controlled with the squeeze keyword, see above.

Examples
--------
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)

# Just a figure and one subplot
f, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')

# Two subplots, unpack the output array immediately
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)

# Four polar axes
plt.subplots(2, 2, subplot_kw=dict(polar=True))
N©Údtypez6When passing multiple axes, layout keyword is ignored.)Ú
stacklevelzoWhen passing multiple axes, sharex and sharey are ignored. These settings must be specified when creating axes.z"The number of passed axes must be z, the same as the output plotzTTo output multiple subplots, the figure containing the passed axes is being cleared.)rF   rG   r\   r]   Fr   )Úmatplotlib.pyplotÚpyplotÚfigurer   ÚnpÚfromiterÚflatten_axesÚobjectÚwarningsÚwarnÚUserWarningr   ÚsizeÚflatr1   r=   ÚclearrY   ÚemptyÚadd_subplotÚrangeÚcopyÚset_visibleÚhandle_shared_axesÚreshaper^   )r[   r\   r]   r^   Ú
subplot_kwr*   rF   rG   Úfig_kwÚpltr   rT   rU   rD   ÚaxarrÚax0ÚiÚkwdsÚaxess   &&&&&&&&,          r   Úcreate_subplotsr   Ž   sz  € õj $àÒØˆ
à	‚zØ�jŠjÑ"˜6Ñ"Šä˜×ÒßÜ—[’[¤¨bÓ!1¼Ô@�ØÒ!Ü—’ØLÜÜ/Ó1õ÷
 ŸÜ—’ðXäÜ/Ó1õ	ð �w‰w˜%ÔØ—g‘g˜a•j×+Ñ+Ó-�Ø�w�ä Ø8¸¸ð @.ð .óð ð
 �m‰m‹oˆà�AŒ:ßØ�w�àœBŸKšK¬°RÓ(8ÄÔGÐGÐGä�MŠMð4äÜ+Ó-õ	ð �I‰IŒKä˜uÀÔM�L€EØ�]€Fô �HŠH�V¤6Ô*€Eð �/Š/˜%¨Ñ
8¨ZÑ
8€CçØ"�8ÑßØ"�8ÑØˆ!�Hô �1�fÖˆØ�‰Ó ˆð �Œ:Ø!ˆD�‰NØ!ˆD�‰NØ�_Š_˜U¨1¨q­5Ñ9°DÑ9ˆØˆa‹ñ ð „Ø˜“-ˆBØ�N‰N˜5Ö!ñ  ô �u e°EÀ6ÔJçð �QŒ;Ø˜•8ˆDð �ˆ9Ðð —=‘= Ó.×6Ñ6Ó8‰Dð
 �ˆ9Ðð �}‰}˜UÓ*ˆà�ˆ9Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   Úaxisr   r   r#   r   )r   s   "r   r   r   F  s   € ÷ (ñ ( 4ð (¨Dñ (r   c                óz  € V P                  4        F  pVP                  R 4       K  	  \        V P                  4       \        P
                  P                  4      '       d.   V P                  \        P
                  P                  4       4       \        V P                  4       \        P
                  P                  4      '       d/   V P                  \        P
                  P                  R4      4       V P                  4        F  pVP                  R 4       K  	  V P                  4       P                  R 4       R# )FÚ N)Úget_majorticklabelsrt   r;   Úget_minor_locatorrA   ÚtickerÚNullLocatorÚset_minor_locatorÚAutoLocatorÚget_minor_formatterÚNullFormatterÚset_minor_formatterÚFormatStrFormatterÚget_minorticklabelsÚ	get_label)r�   Úts   & r   Ú_remove_labels_from_axisr‘   F  sÑ   € Ø×%Ñ%Ö'ˆØ	�‰�eÖñ (ô
 �$×(Ñ(Ó*¬C¯J©J×,BÑ,B×CÒCØ×ÑœsŸz™z×5Ñ5Ó7Ô8Ü�$×*Ñ*Ó,¬c¯j©j×.FÑ.F×GÒGØ× Ñ ¤§¡×!>Ñ!>¸rÓ!BÔCØ×%Ñ%Ö'ˆØ	�‰�eÖñ (ð 	‡N�NÓ× Ñ  Ö'r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úax1r   Úcompare_axisrH   r   r   r   )r   s   "r   r   r   V  s!   € ÷ /ñ / Tð /¸ð /Àñ /r   c                ób  € VR8X  d   V P                  4       pM#VR8X  d   V P                  4       pM\        R4      hVP                  V 4      pV P	                  4       P                  4       pV F>  p\        P                  ! WEP	                  4       P                  4       4      '       d   K=   R# 	  R# )aé  
Return whether an axis is externally shared.

Parameters
----------
ax1 : matplotlib.axes.Axes
    Axis to query.
compare_axis : str
    `"x"` or `"y"` according to whether the X-axis or Y-axis is being
    compared.

Returns
-------
bool
    `True` if the axis is externally shared. Otherwise `False`.

Notes
-----
If two axes with different positions are sharing an axis, they can be
referred to as *externally* sharing the common axis.

If two axes sharing an axis also have the same position, they can be
referred to as *internally* sharing the common axis (a.k.a twinning).

_handle_shared_axes() is only interested in axes externally sharing an
axis, regardless of whether either of the axes is also internally sharing
with a third axis.
rJ   ÚyzD_has_externally_shared_axis() needs 'x' or 'y' as a second parameterTF)Úget_shared_x_axesÚget_shared_y_axesr=   Úget_siblingsÚget_positionÚ
get_pointsrf   Úarray_equal)r“   r”   r~   Úaxes_siblingsÚ
ax1_pointsÚax2s   &&    r   Ú_has_externally_shared_axisr    V  sž   € ð: �sÔØ×$Ñ$Ó&‰Ø	˜Ô	Ø×$Ñ$Ó&‰äØRó
ð 	
ð ×%Ñ% cÓ*€Mð ×!Ñ!Ó#×.Ñ.Ó0€JãˆÜ�~Š~˜j×*:Ñ*:Ó*<×*GÑ*GÓ*I×JÔJÚñ ñ r   c               ó8   € V ^8„  d   QhRRRRRRRRRRRR	R
R	RR/# )r   rz   zIterable[Axes]rD   rE   r[   rT   rU   r\   r   r]   r   r#   r   )r   s   "r   r   r   ˆ  sX   € ÷ 27ñ 27Øð27àð27ð ð27ð ð	27ð
 ð27ð ð27ð ð27ð 
ñ27r   c                ó  € V^8”  Ed%   R pR pR p	V^8”  dÀ    \         P                  ! V^,           V^,           3\         P                  R7      p
V  F#  pVP                  4       W§! V4      V! V4      3&   K%  	  V  FY  pW§! V4      ^,           V! V4      3,          '       g   K(  V'       g   \	        VR4      '       g   KD  \        VP                  4       K[  	  V^8”  dM   V  FD  pV	! V4      '       d   K  V'       g   \	        VR4      '       g   K/  \        VP                  4       KF  	  R# R# R#   \         dQ    R pT  FD  pT! T4      '       d   K  T'       g   \	        TR4      '       g   K/  \        TP                  4       KF  	   L±i ; i)	rO   c                óJ   € V P                  4       P                  P                  # ©N)Úget_subplotspecÚrowspanÚstart©rJ   s   &r   Ú<lambda>Ú$handle_shared_axes.<locals>.<lambda>’  ó   € ˜A×-Ñ-Ó/×7Ñ7×=Ò=r   c                óJ   € V P                  4       P                  P                  # r¤   )r¥   Úcolspanr§   r¨   s   &r   r©   rª   “  r«   r   c                ó>   € V P                  4       P                  4       # r¤   )r¥   Úis_first_colr¨   s   &r   r©   rª   •  s   €  ×!2Ñ!2Ó!4×!AÑ!AÔ!Cr   r`   rJ   c                ó>   € V P                  4       P                  4       # r¤   )r¥   Úis_last_rowr¨   s   &r   r©   rª   «  s   € ¨×(9Ñ(9Ó(;×(GÑ(GÔ(Ir   r–   N)	rf   ÚzerosÚbool_Úget_visibler    r‘   ÚxaxisÚ
IndexErrorÚyaxis)rz   rD   r[   rT   rU   r\   r]   Úrow_numÚcol_numr¯   rF   r*   r±   s   &&&&&&&      r   ru   ru   ˆ  sO  € ð �…zÙ=ˆÙ=ˆáCˆà�1Œ9ð;ô Ÿš 5¨1¥9¨e°a­iÐ"8ÄÇÁÔI�Û�BØ79·~±~Ó7G�F˜7 2›;©°«Ð3Ó4ñ  ó  �Bð " '¨"£+°¥/±7¸2³;Ð">×?Ô?Ù ßÔ!<¸RÀ×!EÔ!EÜ0°·±Ö:ñ  ð& �1Œ9Û�ñ   ×#Ò#ÙßÔ8¸¸S×AÔAÜ,¨R¯X©XÖ6ó ñ ñC øô. ô ;ñ J�Û�BÙ" 2—’Ù ßÔ!<¸RÀ×!EÔ!EÜ0°·±Ö:ó	  ð	;ús*   šBD/ Â+D/ Â?D/ Ä/*F
ÅF
Å.F
Æ	F
c               ó    € V ^8„  d   QhRRRR/# )r   r~   úAxes | Iterable[Axes]r   zGenerator[Axes]r   )r   s   "r   r   r   ½  s   € ÷ ñ Ð,ð °ñ r   c              #  ó  "  € \        V 4      '       g   V x € R# \        V \        P                  \        34      '       d0   \        P
                  ! V 4      P                  R4       Rj  x€L
  R# T  Rj  x€L
  R#  L L5i)rO   NrN   )r   r;   rf   Úndarrayr	   Úasarrayrv   )r~   s   &r   rh   rh   ½  sW   é € Ü˜×ÒØŒ
Ü	�Dœ2Ÿ:™:¤xÐ0×	1Ò	1Ü—:’:˜dÓ#×+Ñ+¨BÓ/×/Ò/à�Šñ 	0áùs$   ‚A&A?Á(A;Á)A?Á4A=Á5A?Á=A?c               ó$   € V ^8„  d   QhRRRRRR/# )r   r~   r»   Ú
xlabelsizez
int | NoneÚ
ylabelsizer   )r   s   "r   r   r   Æ  s&   € ÷ ñ Ø
ðàðð ñ	r   c                óÆ  € \        V 4       FÑ  pVe0   \        P                  P                  VP	                  4       VR7       Ve0   \        P                  P                  VP	                  4       VR7       Ve0   \        P                  P                  VP                  4       VR7       Vf   K¢  \        P                  P                  VP                  4       VR7       KÓ  	  V # )N)Úfontsize)Úrotation)rh   rA   ÚartistÚsetpr.   Úget_yticklabels)r~   rÀ   ÚxrotrÁ   Úyrotr*   s   &&&&& r   Úset_ticks_propsrÊ   Æ  s¦   € ô ˜4Ö ˆØÒ!Ü�J‰J�O‰O˜B×.Ñ.Ó0¸:ˆOÔFØÒÜ�J‰J�O‰O˜B×.Ñ.Ó0¸4ˆOÔ@ØÒ!Ü�J‰J�O‰O˜B×.Ñ.Ó0¸:ˆOÔFØÔÜ�J‰J�O‰O˜B×.Ñ.Ó0¸4ˆOÖ@ñ !ð €Kr   c               ó    € V ^8„  d   QhRRRR/# )r   r*   r   r   zlist[Line2D]r   )r   s   "r   r   r   Ù  s   € ÷ 	ñ 	�dð 	˜|ñ 	r   c                óî   € V P                  4       p\        V R 4      '       d!   WP                  P                  4       ,          p\        V R4      '       d!   WP                  P                  4       ,          pV# )Úright_axÚleft_ax)Ú	get_linesr    rÍ   rÎ   )r*   Úliness   & r   Úget_all_linesrÑ   Ù  sV   € Ø�L‰L‹N€Eäˆr�:×ÒØ—‘×&Ñ&Ó(Õ(ˆäˆr�9×ÒØ—‘×%Ñ%Ó'Õ'ˆà€Lr   c               ó    € V ^8„  d   QhRRRR/# )r   rÐ   zIterable[Line2D]r   ztuple[float, float]r   )r   s   "r   r   r   å  s   € ÷ ñ Ð$ð Ð)<ñ r   c                óþ   € \         P                  \         P                  ) r!V  FU  pVP                  R R7      p\        \         P                  ! V4      V4      p\        \         P                  ! V4      V4      pKW  	  W3# )F)Úorig)rf   ÚinfÚ	get_xdataÚminÚnanminÚmaxÚnanmax)rÐ   Úleftr,   ÚlinerJ   s   &    r   Úget_xlimrÝ   å  s_   € Ü—&‘&œ2Ÿ6™6˜'ˆ%ÛˆØ�N‰N ˆNÓ&ˆÜ”2—9’9˜Q“< Ó&ˆÜ”B—I’I˜a“L %Ó(Šñ ð ˆ;Ðr   )NN)NÚbox)FFTNNNrÞ   )NNNN)0Ú
__future__r   Úmathr   Útypingr   rj   Ú
matplotlibrA   Únumpyrf   Úpandas.util._exceptionsr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.genericr   r	   r
   Úcollections.abcr   r   Úmatplotlib.axesr   Úmatplotlib.axisr   Úmatplotlib.figurer   Úmatplotlib.linesr   Úmatplotlib.tabler   Úpandasr   r   r!   r(   r4   rB   rY   r   r‘   r    ru   rh   rÊ   rÑ   rÝ   r   r   r   Ú<module>rî      s�   ðå "å Ý  Û ã Û å 4å 2÷ñ ÷ ÷õ
 %Ý$Ý(Ý'Ý&÷õ,õ-õ-÷÷:-÷fuõp(õ /õd27õj÷õ&	÷r   