Ë
    øÿæi|N  ã                  ó&  — d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z d dlmZ d dlZd dlmZmZ d dlmZmZ d dlmZmZ d dlmZmZ d d	lmZ er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)  G d„ de«      Z* G d„ de*«      Z+ G d„ de*«      Z,y)é    )ÚannotationsN)Úpairwise)ÚTYPE_CHECKINGÚAnyÚcast)ÚFillTypeÚLineType)Úconvert_filledÚconvert_lines)Úas_fill_typeÚas_line_type)Úfilled_to_mpl_pathsÚlines_to_mpl_paths)ÚRenderer)ÚSequence)ÚAxes)ÚFigure)Ú	ArrayLikec                  ót  — e Zd ZU dZded<   ded<   ded<   	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd	„Zdd
„Zdd„Zdd„Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z		 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z
	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d 	 	 	 	 	 	 	 	 	 	 	 d!d„Zd"d#d„Zd$d„Zdd„Zd%d&d„Z	 	 	 	 d'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d„Zy))ÚMplRenderera£  Utility renderer using Matplotlib to render a grid of plots over the same (x, y) range.

    Args:
        nrows (int, optional): Number of rows of plots, default ``1``.
        ncols (int, optional): Number of columns of plots, default ``1``.
        figsize (tuple(float, float), optional): Figure size in inches, default ``(9, 9)``.
        show_frame (bool, optional): Whether to show frame and axes ticks, default ``True``.
        backend (str, optional): Matplotlib backend to use or ``None`` for default backend.
            Default ``None``.
        gridspec_kw (dict, optional): Gridspec keyword arguments to pass to ``plt.subplots``,
            default None.
    zSequence[Axes]Ú_axesr   Ú_figÚboolÚ_want_tightNc                ó  — |�dd l }|j                  |«       |ddddœ}|�||d<   nddi|d<   t        j                  ||fi |¤Ž\  | _        }	|	j                  «       | _        |s"| j                  D ]  }
|
j                  d	«       Œ d| _        y )
Nr   FT)ÚfigsizeÚsqueezeÚsharexÚshareyÚgridspec_kwÚaspectÚequalÚ
subplot_kwÚoff)	Ú
matplotlibÚuseÚpltÚsubplotsr   Úflattenr   Úaxisr   )ÚselfÚnrowsÚncolsr   Ú
show_frameÚbackendr    ÚmplÚkwargsÚaxesÚaxs              úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/contourpy/util/mpl_renderer.pyÚ__init__zMplRenderer.__init__,   s˜   € ð ÐÛ$Ø�G‰G�GÔà-4ÀØ,0¸Dñ"BˆàÐ"Ø$/ˆF�=Ò!à$,¨gÐ#6ˆF�<Ñ äŸ,™, u¨eÑ>°vÑ>‰ˆŒ	�4Ø—\‘\“^ˆŒ
ÙØ—j”j�Ø—‘˜•ð !ð  ˆÕó    c                ó\   — t        | d«      r t        j                  | j                  «       y y )Nr   )Úhasattrr'   Úcloser   ©r+   s    r4   Ú__del__zMplRenderer.__del__H   s!   € Ü�4˜Ô Ü�I‰I�d—i‘iÕ ð !r6   c                óô   — | j                   D ])  }t        |dd«      sŒ|j                  d¬«       d|_        Œ+ | j                  r4t        | j                   «      dkD  r| j                  j                  «        y y y )NÚ_need_autoscaleFT)Útighté   )r   ÚgetattrÚautoscale_viewr=   r   Úlenr   Útight_layout©r+   r3   s     r4   Ú
_autoscalezMplRenderer._autoscaleL   sj   € ð —*”*ˆBÜ�rÐ,¨eÕ4Ø×!Ñ!¨Ð!Ô-Ø%*�Õ"ð ð ×Ò¤ D§J¡J£°!Ò 3Ø�I‰I×"Ñ"Õ$ð !4Ðr6   c                óD   — t        |t        «      r| j                  |   }|S ©N)Ú
isinstanceÚintr   rD   s     r4   Ú_get_axzMplRenderer._get_axW   s   € Ü�bœ#ÔØ—‘˜B‘ˆBØˆ	r6   c                ó¸   — t        |«      }| j                  |«      }t        ||«      }t        j                  ||dd|¬«      }|j                  |«       d|_        y)a  Plot filled contours on a single Axes.

        Args:
            filled (sequence of arrays): Filled contour data as returned by
                :meth:`~.ContourGenerator.filled`.
            fill_type (FillType or str): Type of :meth:`~.ContourGenerator.filled` data as returned
                by :attr:`~.ContourGenerator.fill_type`, or string equivalent
            ax (int or Maplotlib Axes, optional): Which axes to plot on, default ``0``.
            color (str, optional): Color to plot with. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"C0"``.
            alpha (float, optional): Opacity to plot with, default ``0.7``.
        Únoner   ©Ú
facecolorsÚ
edgecolorsÚlwÚalphaTN)r   rJ   r   ÚmcollectionsÚPathCollectionÚadd_collectionr=   )r+   ÚfilledÚ	fill_typer3   ÚcolorrQ   ÚpathsÚ
collections           r4   rU   zMplRenderer.filled\   sZ   € ô* ! Ó+ˆ	Ø�\‰\˜"ÓˆÜ# F¨IÓ6ˆÜ!×0Ñ0Ø˜e°¸1ÀEôKˆ
à
×Ñ˜*Ô%Ø!ˆÕr6   c                ó°  — | j                  |«      }| j                  ||«      \  }}||dœ} |j                  |||j                  |j                  fi |¤Ž |dkD  �r[d|dd…dd…f   |dd…dd…f   z   |dd…dd…f   z   |dd…dd…f   z   z  }	d|dd…dd…f   |dd…dd…f   z   |dd…dd…f   z   |dd…dd…f   z   z  }
||d<    |j                  t	        j
                  |dd…dd…f   |	|dd…dd…f   f«      j                  d«      t	        j
                  |dd…dd…f   |
|dd…dd…f   f«      j                  d«      t	        j
                  |dd…dd…f   |	|dd…dd…f   f«      j                  d«      t	        j
                  |dd…dd…f   |
|dd…dd…f   f«      j                  d«      fi |¤Ž |�|j                  ||||d	d¬
«       d|_        y)aü  Plot quad grid lines on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color to plot grid lines, default ``"black"``.
            alpha (float, optional): Opacity to plot lines with, default ``0.1``.
            point_color (str, optional): Color to plot grid points or ``None`` if grid points
                should not be plotted, default ``None``.
            quad_as_tri_alpha (float, optional): Opacity to plot ``quad_as_tri`` grid, default 0.

        Colors may be a string color or the letter ``"C"`` followed by an integer in the range
        ``"C0"`` to ``"C9"`` to use a color from the ``tab10`` colormap.

        Warning:
            ``quad_as_tri_alpha > 0`` plots all quads as though they are unmasked.
        )rW   rQ   r   g      Ð?Néÿÿÿÿr?   rQ   )é   r[   Úo)rW   rQ   ÚmarkerrP   T)rJ   Ú_grid_as_2dÚplotÚTÚnpÚstackÚreshaper=   )r+   ÚxÚyr3   rW   rQ   Úpoint_colorÚquad_as_tri_alphar1   ÚxmidÚymids              r4   ÚgridzMplRenderer.gridy   s.  € ð8 �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ø+0¸5Ñ!AˆØˆ�‰��1�a—c‘c˜1Ÿ3™3Ñ) &Ò)Ø˜qÓ à˜˜3˜B˜3   ˜8™ q¨©¨S¨b¨S¨¡zÑ1°A°c°r°c¸1¹2°g±JÑ>ÀÀ1Á2ÀqÁrÀ6ÁÑJÑKˆDØ˜˜3˜B˜3   ˜8™ q¨©¨S¨b¨S¨¡zÑ1°A°c°r°c¸1¹2°g±JÑ>ÀÀ1Á2ÀqÁrÀ6ÁÑJÑKˆDØ/ˆF�7‰OØˆB�G‰GÜ—‘˜!˜C˜R˜C  " ˜H™+ t¨Q¨q©r°1±2¨v©YÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜C˜R˜C  " ˜H™+ t¨Q¨q©r°1±2¨v©YÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜A™B   ˜G™* d¨A¨c¨r¨c°1±2¨g©JÐ7Ó8×@Ñ@ÀÓIÜ—‘˜!˜A™B   ˜G™* d¨A¨c¨r¨c°1±2¨g©JÐ7Ó8×@Ñ@ÀÓIñ	ð
 òð Ð"Ø�G‰G�A�q °5ÀÈˆGÔKØ!ˆÕr6   c                ó¸   — t        |«      }| j                  |«      }t        ||«      }t        j                  |d|||¬«      }|j                  |«       d|_        y)aW  Plot contour lines on a single Axes.

        Args:
            lines (sequence of arrays): Contour line data as returned by
                :meth:`~.ContourGenerator.lines`.
            line_type (LineType or str): Type of :meth:`~.ContourGenerator.lines` data as returned
                by :attr:`~.ContourGenerator.line_type`, or string equivalent.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color to plot lines. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"C0"``.
            alpha (float, optional): Opacity to plot lines with, default ``1.0``.
            linewidth (float, optional): Width of lines, default ``1``.
        rL   rM   TN)r   rJ   r   rR   rS   rT   r=   )	r+   ÚlinesÚ	line_typer3   rW   rQ   Ú	linewidthrX   rY   s	            r4   rm   zMplRenderer.lines¨   sZ   € ô. ! Ó+ˆ	Ø�\‰\˜"ÓˆÜ" 5¨)Ó4ˆÜ!×0Ñ0Ø˜f°¸9ÈEôSˆ
à
×Ñ˜*Ô%Ø!ˆÕr6   c                óþ   — t         j                  j                  |«      }|t         j                  j                  u ry| j	                  |«      }| j                  ||«      \  }}|j                  ||   ||   d|¬«       y)aâ  Plot masked out grid points as circles on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            z (masked array of shape (ny, nx): z-values.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Circle color, default ``"black"``.
        Nr]   )Úc)rb   ÚmaÚgetmaskÚnomaskrJ   r_   r`   )r+   re   rf   Úzr3   rW   Úmasks          r4   rv   zMplRenderer.maskÇ   si   € ô" �u‰u�}‰}˜QÓˆØ”2—5‘5—<‘<ÑØØ�\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ø
�‰��$‘˜˜4™ #¨ˆÕ/r6   c                ó^   — | j                  «        | j                  j                  ||¬«       y)zÞSave plots to SVG or PNG file.

        Args:
            filename (str): Filename to save to.
            transparent (bool, optional): Whether background should be transparent, default
                ``False``.
        )ÚtransparentN)rE   r   Úsavefig)r+   Úfilenamerx   s      r4   ÚsavezMplRenderer.saveß   s%   € ð 	�‰ÔØ�	‰	×Ñ˜(°ÐÕ<r6   c                óª   — | j                  «        t        j                  «       }| j                  j	                  |d¬«       |j                  d«       |S )zhSave plots to an ``io.BytesIO`` buffer.

        Return:
            BytesIO: PNG image buffer.
        Úpng)Úformatr   )rE   ÚioÚBytesIOr   ry   Úseek)r+   Úbufs     r4   Úsave_to_bufferzMplRenderer.save_to_bufferê   s@   € ð 	�‰ÔÜ�j‰j‹lˆØ�	‰	×Ñ˜# eÐÔ,Ø�‰�ŒØˆ
r6   c                óL   — | j                  «        t        j                  «        y)zMShow plots in an interactive window, in the usual Matplotlib manner.
        N)rE   r'   Úshowr:   s    r4   r…   zMplRenderer.showö   s   € ð 	�‰ÔÜ�‰�
r6   c                óŽ   — |r#| j                  |«      j                  ||¬«       y| j                  |«      j                  |«       y)a  Set the title of a single Axes.

        Args:
            title (str): Title text.
            ax (int or Matplotlib Axes, optional): Which Axes to set the title of, default ``0``.
            color (str, optional): Color to set title. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default is ``None`` which uses Matplotlib's default title color
                that depends on the stylesheet in use.
        )rW   N)rJ   Ú	set_title)r+   Útitler3   rW   s       r4   rˆ   zMplRenderer.titleü   s:   € ñ Ø�L‰L˜Ó×&Ñ& u°EÐ&Õ:à�L‰L˜Ó×&Ñ& uÕ-r6   c                óÌ  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}	t        |«      D ]<  }
t        |	«      D ],  }|j                  ||
|f   ||
|f   ||
|f   |› ›dd|d¬«       Œ. Œ> |rÎt        |dz
  «      D ]¼  }
t        |	dz
  «      D ]©  }t        j                  ||
|
dz   …||dz   …f   t        j                  ¬«      }t        j                  ||
|
dz   …||dz   …f   t        j                  ¬«      }t        j                  ||
|
dz   …||dz   …f   «      }|j                  ||||› ›dd|d¬«       Œ« Œ¾ yy)a°  Show ``z`` values on a single Axes.

        Args:
            x (array-like of shape (ny, nx) or (nx,)): The x-coordinates of the grid points.
            y (array-like of shape (ny, nx) or (ny,)): The y-coordinates of the grid points.
            z (array-like of shape (ny, nx): z-values.
            ax (int or Matplotlib Axes, optional): Which Axes to plot on, default ``0``.
            color (str, optional): Color of added text. May be a string color or the letter ``"C"``
                followed by an integer in the range ``"C0"`` to ``"C9"`` to use a color from the
                ``tab10`` colormap. Default ``"green"``.
            fmt (str, optional): Format to display z-values, default ``".1f"``.
            quad_as_tri (bool, optional): Whether to show z-values at the ``quad_as_tri`` centers
                of quads.

        Warning:
            ``quad_as_tri=True`` shows z-values for all quads, even if masked.
        ÚcenterT©ÚhaÚvarW   Úclip_onr?   é   ©ÚdtypeN)	rJ   r_   rb   ÚasarrayÚshapeÚrangeÚtextÚmeanÚfloat64)r+   re   rf   ru   r3   rW   ÚfmtÚquad_as_triÚnyÚnxÚjÚiÚxxÚyyÚzzs                  r4   Úz_valueszMplRenderer.z_values  so  € ð6 �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r–ˆAÜ˜2–Y�Ø—‘˜˜!˜Q˜$™  1 a 4¡¨Q¨q°!¨t©W°c°U¨OÀÈhØ#¨Tð õ 3ñ ð ñ Ü˜2˜a™4–[�Ü˜r !™tž�AÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡¼¿
¹
ÔC�BÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡¼¿
¹
ÔC�BÜŸ™  1 Q q¡S 5¨!¨A¨a©C¨% <¡Ó1�BØ—G‘G˜B  r¨3¨% j°hÀ8ÐSXØ$(ð õ *ñ	 %ñ !ð r6   )r?   r?   ©é	   r£   TNN)r,   rI   r-   rI   r   útuple[float, float]r.   r   r/   ú
str | Noner    zdict[str, Any] | NoneÚreturnÚNone)r¦   r§   )r3   ú
Axes | intr¦   r   )r   ÚC0çffffffæ?)rU   úcpy.FillReturnrV   úFillType | strr3   r¨   rW   ÚstrrQ   Úfloatr¦   r§   )r   Úblackçš™™™™™¹?Nr   )re   r   rf   r   r3   r¨   rW   r­   rQ   r®   rg   r¥   rh   r®   r¦   r§   )r   r©   ç      ð?r?   )rm   úcpy.LineReturnrn   úLineType | strr3   r¨   rW   r­   rQ   r®   ro   r®   r¦   r§   )r   r¯   )re   r   rf   r   ru   z'ArrayLike | np.ma.MaskedArray[Any, Any]r3   r¨   rW   r­   r¦   r§   )F)rz   r­   rx   r   r¦   r§   )r¦   z
io.BytesIO)r   N)rˆ   r­   r3   r¨   rW   r¥   r¦   r§   )r   Úgreenz.1fF)re   r   rf   r   ru   r   r3   r¨   rW   r­   r˜   r­   r™   r   r¦   r§   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r5   r;   rE   rJ   rU   rk   rm   rv   r{   rƒ   r…   rˆ   r¡   © r6   r4   r   r      sJ  … ñð ÓØ
ƒLØÓð ØØ'-ØØ"Ø-1ð àð ð ð ð %ð	 ð
 ð ð ð ð +ð ð 
ó ó8!ó	%óð ØØð"àð"ð "ð"ð ð	"ð
 ð"ð ð"ð 
ó"ðB ØØØ"&Ø#$ð-"àð-"ð ð-"ð ð	-"ð
 ð-"ð ð-"ð  ð-"ð !ð-"ð 
ó-"ðf ØØØð"àð"ð "ð"ð ð	"ð
 ð"ð ð"ð ð"ð 
ó"ðH Øð0àð0ð ð0ð 3ð	0ð
 ð0ð ð0ð 
ó0ô0	=ó
óô.ð* ØØØ!ð**àð**ð ð**ð ð	**ð
 ð**ð ð**ð ð**ð ð**ð 
ô**r6   r   c                  ó:   ‡ — e Zd ZdZ	 	 	 d	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚMplTestRendererz¾Test renderer implemented using Matplotlib.

    No whitespace around plots and no spines/ticks displayed.
    Uses Agg backend, so can only save to file/buffer, cannot call ``show()``.
    c                óú   •— dddddddœ}t         ‰| �  |||dd|¬«       | j                  D ]F  }|j                  d«       |j	                  d«       |j                  g «       |j                  g «       ŒH d| _        y )	Ng{®Gáz„?g®Gáz®ï?)ÚleftÚrightÚtopÚbottomÚwspaceÚhspaceTÚAgg)r.   r/   r    ç        F)Úsuperr5   r   Úset_xmarginÚset_ymarginÚ
set_xticksÚ
set_yticksr   )r+   r,   r-   r   Úgridspecr3   Ú	__class__s         €r4   r5   zMplTestRenderer.__init__?  s‰   ø€ ð ØØØØØñ
ˆô 	‰ÑØ�5˜'¨d¸EÈxð 	ô 	
ð —*”*ˆBØ�N‰N˜3ÔØ�N‰N˜3ÔØ�M‰M˜"ÔØ�M‰M˜"Õð	 ð !ˆÕr6   )r?   r?   r¢   )r,   rI   r-   rI   r   r¤   r¦   r§   )rµ   r¶   r·   r¸   r5   Ú__classcell__©rÌ   s   @r4   r¼   r¼   9  sC   ø„ ñð ØØ'-ð	!àð!ð ð!ð %ð	!ð
 
÷!ñ !r6   r¼   c                  ód  ‡ — e Zd ZdZ	 	 	 	 d		 	 	 	 	 	 	 	 	 d
ˆ fd„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z		 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z
ˆ xZS )ÚMplDebugRendererz¤Debug renderer implemented using Matplotlib.

    Extends ``MplRenderer`` to add extra information to help in debugging such as markers, arrows,
    text, etc.
    c                ó*   •— t         ‰| �  ||||«       y rG   )rÆ   r5   )r+   r,   r-   r   r.   rÌ   s        €r4   r5   zMplDebugRenderer.__init__`  s   ø€ ô 	‰Ñ˜  w°
Õ;r6   c                ól  — d||z   z  }||z
  }|t        j                  t        j                  ||«      «      z  }t        j                  |d   |d    f«      }	t        j                  ||dz  |	z
  |z  z
  ||dz  |z  z   ||dz  |	z   |z  z
  f«      }
|j                  |
d d …df   |
d d …df   d||¬«       y )Ng      à?r?   r   Ú-©rq   rQ   )rb   ÚsqrtÚdotr’   rc   r`   )r+   r3   Ú
line_startÚline_endrW   rQ   Ú
arrow_sizeÚmidÚalongr¿   Úarrows              r4   Ú_arrowzMplDebugRenderer._arrowi  sÐ   € ð �: Ñ(Ñ)ˆØ˜:Ñ%ˆØ”—‘œŸ™  uÓ-Ó.Ñ.ˆÜ—
‘
˜E !™H u¨Q¡x iÐ0Ó1ˆÜ—‘Ø�5˜‘9˜uÑ$ jÑ0Ñ0Ø�%˜‘)˜JÑ&Ñ&Ø�5˜‘9˜uÑ$ jÑ0Ñ0ð
ó ˆð
 	�‰�’a˜�d‘˜U¢1 a 4™[¨#°¸eˆÕDr6   c                ó  •— t        |«      }t        ‰| �	  |||||«       |€|€y | j                  |«      }t	        ||t
        j                  «      }|�‘t        |Ž D ]†  \  }}|€Œ	t        |«      D ]p  \  }}||| }|j                  |d d …df   |d d …df   ||¬«       |
dkD  sŒ4t        |«      }t        |dz
  «      D ]!  }| j                  |||   ||dz      |||
«       Œ# Œr Œˆ |� t        |Ž D ]”  \  }}|€Œ	t        j                  |d   t        ¬«      }d||dd  dz
  <   |	�
|d d }d||<   |j                  |d d …df   |   |d d …df   |   d||¬«       |	€Œk|j                  |d d …df      |d d …df   |   d|	|¬«       Œ– y y )	Nr   r?   rÔ   rÅ   r[   r�   Fr]   )r   rÆ   rU   rJ   r
   r   ÚChunkCombinedOffsetÚzipr   r`   rB   r”   rÝ   rb   Úonesr   )r+   rU   rV   r3   rW   rQ   Ú
line_colorÚ
line_alpharg   Ústart_point_colorrÙ   ÚpointsÚoffsetsÚstartÚendÚxysÚnr�   rv   Ústart_indicesrÌ   s                       €r4   rU   zMplDebugRenderer.filled}  sà  ø€ ô ! Ó+ˆ	Ü‰‰�v˜y¨"¨e°UÔ;àÐ +Ð"5Øà�\‰\˜"ÓˆÜ ¨	´8×3OÑ3OÓPˆð Ð!Ü#&¨£<‘�˜Ø�>ØÜ"*¨7Ö"3‘J�E˜3Ø   sÐ+�CØ—G‘G˜C¢ 1 ™I sª1¨a¨4¡y°JÀj�GÔQà! CÓ'Ü ›H˜Ü!& q¨¡s¦˜AØ ŸK™K¨¨C°©F°C¸¸!¹±H¸jÈ*ÐV`Õañ ",ñ #4ð $0ð Ð"Ü#&¨£<‘�˜Ø�>ØÜ—w‘w˜w r™{´$Ô7�Ø&+��W˜Q˜R�[ ‘]Ñ#Ø$Ð0Ø$+¨C¨R L�MØ*/�D˜Ñ'Ø—‘Øš1˜a˜4‘L Ñ&¨ªq°!¨t©°TÑ(:¸CÀ;ÐV`ð ô bð %Ñ0Ø—G‘G˜F¢1 a 4™L¨Ñ7¸ÂÀ1À¹ÀmÑ9TÐVYØ/°zð õ Cñ $0ð #r6   c
           
     ó~  •— t        |«      }t        ‰| �	  ||||||«       |	dk(  r|€y | j                  |«      }t	        ||t
        j                  «      }
t        rt        t        j                  |
«      }
|	dkD  rB|
D ]=  }t        t        |«      dz
  «      D ]!  }| j                  |||   ||dz      |||	«       Œ# Œ? |�€|
D ]z  }d}t        |«      }|�E|j                  |d   |d   d||¬«       d}|d   d   |d   d   k(  r|d   d   |d   d   k(  r|dz  }|j                  |||…df   |||…df   d||¬«       Œ| y y )	NrÅ   r?   r   )r   r   )r   r?   r]   rÔ   r[   )r   rÆ   rm   rJ   r   r	   ÚSeparater   r   ÚcpyÚLineReturn_Separater”   rB   rÝ   r`   )r+   rm   rn   r3   rW   rQ   ro   rg   rä   rÙ   Úseparate_linesÚliner�   Ústart_indexÚ	end_indexrÌ   s                  €r4   rm   zMplDebugRenderer.lines²  s{  ø€ ô ! Ó+ˆ	Ü‰‰�e˜Y¨¨E°5¸)ÔDà˜Ò Ð!4Øà�\‰\˜"ÓˆÜ& u¨i¼×9JÑ9JÓKˆÝÜ!¤#×"9Ñ"9¸>ÓJˆNà˜ÒÛ&�Üœs 4›y¨™{Ö+�AØ—K‘K  D¨¡G¨T°!°A±#©Y¸¸uÀjÕQñ ,ð 'ð Ð"Û&�Ø�Ü ›I�	Ø$Ð0Ø—G‘G˜D ™J¨¨T©
°CÐ;LÐTY�GÔZØ"#�KØ˜A‘w˜q‘z T¨"¡X¨a¡[Ò0°T¸!±W¸Q±ZÀ4ÈÁ8ÈAÁ;Ò5NØ! Q™˜	Ø—‘˜˜[¨Ð2°AÐ5Ñ6¸¸[ÈÐ=RÐTUÐ=UÑ8VÐX[Ø uð õ .ñ 'ð #r6   c                ó>  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}t        |«      D ]E  }t        |«      D ]5  }	|	||z  z   }
|j                  |||	f   |||	f   t        |
«      dd|d¬«       Œ7 ŒG y )Nr¿   rÀ   Tr‹   ©rJ   r_   rb   r’   r“   r”   r•   r­   )r+   re   rf   ru   r3   rW   rš   r›   rœ   r�   Úquads              r4   Úpoint_numberszMplDebugRenderer.point_numbersÚ  s    € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r–ˆAÜ˜2–Y�Ø˜1˜R™4‘x�Ø—‘˜˜!˜Q˜$™  1 a 4¡¬#¨d«)¸ÀEÐQVØ $ð õ &ñ ñ r6   c                óÂ  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}t        d|«      D ]†  }t        d|«      D ]u  }	|	||z  z   }
||dz
  |dz   …|	dz
  |	dz   …f   j                  «       }||dz
  |dz   …|	dz
  |	dz   …f   j                  «       }|j                  ||t        |
«      dd|d¬«       Œw Œˆ y )Nr?   rŠ   Tr‹   )	rJ   r_   rb   r’   r“   r”   r–   r•   r­   )r+   re   rf   ru   r3   rW   rš   r›   rœ   r�   rö   ri   rj   s                r4   Úquad_numberszMplDebugRenderer.quad_numbersì  sî   € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�q˜"–ˆAÜ˜1˜b–\�Ø˜1˜R™4‘x�Ø˜˜1™˜Q˜q™S˜ ! A¡# a¨¡c 'Ð)Ñ*×/Ñ/Ó1�Ø˜˜1™˜Q˜q™S˜ ! A¡# a¨¡c 'Ð)Ñ*×/Ñ/Ó1�Ø—‘˜˜d¤C¨£I°(¸xÈuÐ^b�Õcñ	 "ñ r6   c                ód  — | j                  |«      }| j                  ||«      \  }}t        j                  |«      }|j                  \  }}	t        |«      D ]X  }
t        |	«      D ]H  }||
|f   }|�||kD  rd}n
||kD  rd}nd}|j                  ||
|f   ||
|f   t        |«      dd|d¬«       ŒJ ŒZ y )Nr�   r?   r   r¾   rÁ   Tr‹   rõ   )r+   re   rf   ru   Úlower_levelÚupper_levelr3   rW   rš   r›   rœ   r�   r    Úz_levels                 r4   Úz_levelszMplDebugRenderer.z_levelsÿ  sÄ   € ð �\‰\˜"ÓˆØ×Ñ  1Ó%‰ˆˆ1Ü�J‰J�q‹MˆØ—‘‰ˆˆBÜ�r–ˆAÜ˜2–Y�Ø�q˜!�t‘W�ØÐ*¨r°KÒ/?Ø‘GØ˜+Ò%Ø‘Gà�GØ—‘˜˜!˜Q˜$™  1 a 4¡¬#¨g«,¸6ÀhÐV[Ø $ð õ &ñ ñ r6   )r?   r?   r¢   T)
r,   rI   r-   rI   r   r¤   r.   r   r¦   r§   )r3   r   r×   úcpy.CoordinateArrayrØ   rÿ   rW   r­   rQ   r®   rÙ   r®   r¦   r§   )r   ÚC1rª   r©   rª   r©   Úredr°   )rU   r«   rV   r¬   r3   r¨   rW   r­   rQ   r®   râ   r­   rã   r®   rg   r­   rä   r­   rÙ   r®   r¦   r§   )r   r©   r±   r?   r©   r  r°   )rm   r²   rn   r³   r3   r¨   rW   r­   rQ   r®   ro   r®   rg   r­   rä   r­   rÙ   r®   r¦   r§   )r   r  )re   r   rf   r   ru   r   r3   r¨   rW   r­   r¦   r§   )r   Úblue)Nr   r´   )re   r   rf   r   ru   r   rû   r®   rü   zfloat | Noner3   r¨   rW   r­   r¦   r§   )rµ   r¶   r·   r¸   r5   rÝ   rU   rm   r÷   rù   rþ   rÍ   rÎ   s   @r4   rÐ   rÐ   Z  s¦  ø„ ñð ØØ'-Øð<àð<ð ð<ð %ð	<ð
 ð<ð 
õ<ðEàðEð (ðEð &ð	Eð
 ðEð ðEð ðEð 
óEð0 ØØØØØØ!&Øð3Càð3Cð "ð3Cð ð	3Cð
 ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð ð3Cð 
õ3Cðr ØØØØØ!&Øð&.àð&.ð "ð&.ð ð	&.ð
 ð&.ð ð&.ð ð&.ð ð&.ð ð&.ð ð&.ð 
õ&.ðZ Øð&àð&ð ð&ð ð	&ð
 ð&ð ð&ð 
ó&ð. Øðdàðdð ðdð ð	dð
 ðdð ðdð 
ódð2 %)ØØð&àð&ð ð&ð ð	&ð
 ð&ð "ð&ð ð&ð ð&ð 
÷&r6   rÐ   )-Ú
__future__r   r   Ú	itertoolsr   Útypingr   r   r   Úmatplotlib.collectionsÚcollectionsrR   Úmatplotlib.pyplotÚpyplotr'   Únumpyrb   Ú	contourpyr   r	   Úcontourpy.convertr
   r   Úcontourpy.enum_utilr   r   Úcontourpy.util.mpl_utilr   r   Úcontourpy.util.rendererr   Úcollections.abcr   Úmatplotlib.axesr   Úmatplotlib.figurer   Únumpy.typingr   Úcontourpy._contourpyÚ
_contourpyrî   r   r¼   rÐ   rº   r6   r4   Ú<module>r     sh   ðÝ "ã 	Ý ß +Ñ +å -Ý Û ç (ß ;ß :ß KÝ ,áÝ(å$Ý(Ý&å&ô[*�(ô [*ô|!�kô !ôB}&�{õ }&r6   