Ë
    ÿÿæi�r  ã                   óÊ   — d dl Z d dlZd dlZd dlmZmZmZm	Z
mZmZmZ ddlmZmZ dd„Zd„ Z G d„ de
j,                  «      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Zy)é    N)Ú_apiÚartistÚlinesÚaxisÚpatchesÚ
transformsÚcolorsé   )Úart3dÚproj3dc                 óp   — t        j                  | «      } | |t        j                  d| |z
  «      z  |z  z   S )zg
    For each coordinate where *axmask* is True, move *coord* away from
    *centers* by *deltas*.
    r
   )ÚnpÚasarrayÚcopysign)ÚcoordÚcentersÚdeltasÚaxmasks       úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/mpl_toolkits/mplot3d/axis3d.pyÚ_move_from_centerr      s6   € ô
 �J‰J�uÓ€EØ�6œBŸK™K¨¨5°7©?Ó;Ñ;¸fÑDÑDÐDó    c                 ó¼  — | j                   j                  |«       | j                  j                  |«       | j                  j	                  d«       | j
                  j	                  d«       | j                  j                  d«       | j                  j                  d«       | j                  j                  ||«       | j                  j                  dgdg«       y)z.Update tick line and label position and style.TFÚ-Ú r   N)
Úlabel1Úset_positionÚlabel2Ú	tick1lineÚset_visibleÚ	tick2lineÚset_linestyleÚ
set_markerÚset_dataÚgridline)ÚtickÚtickxsÚtickysÚlabelposs       r   Ú_tick_update_positionr)      sœ   € ð 	‡K�K×Ñ˜XÔ&Ø‡K�K×Ñ˜XÔ&Ø‡N�N×Ñ˜tÔ$Ø‡N�N×Ñ˜uÔ%Ø‡N�N× Ñ  Ô%Ø‡N�N×Ñ˜bÔ!Ø‡N�N×Ñ˜F FÔ+Ø‡M�M×Ñ˜A˜3  Õ$r   c                   ó|  ‡ — e Zd ZdZdZddddœddddœddd	dœd
œZddœd„Zddœd„Zˆ fd„Z e	j                  e«      e_          ej                  dd¬«       ed„ «      «      Zd„ Z ej                  dd¬«      d„ «       Zd6ˆ fd„	Zd6ˆ fd„	Zd„ Zd„ Zd„ Zd„ Zd6d„Zd„ Zd„ Zd„ Zd „ Zd6d!„Zd6d"„Zd#„ Zd$„ Z d%„ Z!d&„ Z"d'„ Z#d(„ Z$d)„ Z%e&jN                  d*„ «       Z(e&jN                  d+„ «       Z)d6d,d-œd.„Z*  ej                  dd/d¬0«       ed1„ d2„ «      «      Z+  ej                  dd3d¬0«       ed4„ d5„ «      «      Z,ˆ xZ-S )7ÚAxiszAn Axis class for the 3D plots.))r   é   é   é   )r
   é   é   é   )r   r
   r1   r.   )r,   r/   r0   r-   )r   r
   r/   r,   )r.   r1   r0   r-   r   r
   )r
   r   r/   )ÚiÚtickdirÚjuggled)r   r
   r/   r/   )r   r/   r
   )ÚxÚyÚzN)Úrotate_labelc                ó   — t        «       S ©N©Úlocals)ÚselfÚadirÚv_intervalxÚd_intervalxÚaxesr8   ÚargsÚkwargss           r   Ú	_old_initzAxis._old_init6   s	   € ä‹xˆr   c                ó   — t        «       S r:   r;   )r=   rA   r8   rC   s       r   Ú	_new_initzAxis._new_init:   s	   € Ü‹xˆr   c           	      ó&  •— t        j                  | j                  | j                  gg|¢­i |¤Ž}d|v rzt        j                  ddt        j                  t        | «      j                  «      › �d¬«       |d   | j                  k7  r't        dt        | «      j                  › d|d   ›�«      ‚|d   }|d	   }|j                  d
d«      }|d   }| j                  }d| _        d| _        | j                  |   j!                  «       | _        | j"                  j%                  ddddœt&        j(                  d|› d�   dddœdœ«       t&        j(                  d   rk| j"                  j%                  dddœddddœdœ«       | j"                  d    j%                  d!t&        j(                  d"   t&        j(                  d"   d#œi«       ní| j"                  j%                  t&        j(                  d$   t&        j(                  d%   dœt&        j(                  d&   t&        j(                  d'   t&        j(                  d(   dœdœ«       | j"                  d    j%                  d!|d)v rt&        j(                  d*   nt&        j(                  d+   |d)v rt&        j(                  d,   nt&        j(                  d-   d#œi«       t+        ‰| �   |g|¢­i |¤Ž d.|v r | j,                  |d.   Ž  d/|v r | j.                  |d/   Ž  | j1                  |«       | j3                  «        y )0Nr>   ú3.6zUThe signature of 3D Axis constructors has changed in %(since)s; the new signature is T)ÚmessageÚpendingzCannot instantiate z with adir=rA   r8   rB   © rC   ÚdefaultÚcenterÚanchor)ÚvaÚhaÚrotation_modezaxes3d.zaxis.panecolorgš™™™™™É?gš™™™™™¹?)Úinward_factorÚoutward_factor)ÚlabelÚcolorr%   z_internal.classic_modeg      è?)r   r   r   r
   )Ú	linewidthrU   )çÍÌÌÌÌÌì?rW   rW   r
   g      ð?r   )rU   rV   Ú	linestyle)ÚaxislineÚgridr%   rV   zlines.linewidth)TFzaxes.linewidthzaxes.edgecolorz
grid.colorzgrid.linewidthzgrid.linestyleÚxzzxtick.major.widthzytick.major.widthzxtick.minor.widthzytick.minor.widthr@   r?   )r   Úselect_matching_signaturerD   rF   Úwarn_deprecatedÚinspectÚ	signatureÚtypeÚ__init__Ú	axis_nameÚ
ValueErrorÚ__name__ÚgetÚ_label_positionÚ_tick_positionÚ_AXINFOÚcopyÚ_axinfoÚupdateÚmplÚrcParamsÚsuperÚset_data_intervalÚset_view_intervalÚset_rotate_labelÚ_init3d)r=   rB   rC   ÚparamsrA   r8   ÚnameÚ	__class__s          €r   ra   zAxis.__init__=   s  ø€ Ü×/Ñ/Ø�^‰^˜TŸ^™^Ð,ð?Ø/3ò?Ø7=ñ?ˆà�VÑÜ× Ñ Øð ">ä×$Ñ$¤T¨$£Z×%8Ñ%8Ó9Ð:ð <àEIõKð �f‰~ §¡Ò/Ü Ð#6´t¸D³z×7JÑ7JÐ6Kð L.Ø.4°V©nÐ-?ð"Aó Bð Bà�f‰~ˆØ˜nÑ-ˆØ�z‰z˜& "Ó%ˆØ˜Ñ!ˆà�~‰~ˆà(ˆÔØ'ˆÔð —|‘| DÑ)×.Ñ.Ó0ˆŒà�‰×ÑØ$¨HØ'/ñ1ä—\‘\ G¨D¨6°Ð"@ÑAà!$Ø"%ññ	
ô 	ô �<‰<Ð0Ò1Ø�L‰L×ÑØ*.¸ÑFà/Ø!$Ø!$ññ!ô ð �L‰L˜Ñ ×'Ñ'ØÜŸ,™,Ð'8Ñ9ÜŸ<™<Ð(9Ñ:ñð)õ ð �L‰L×Ñä!$§¡Ð.>Ñ!?Ü Ÿ\™\Ð*:Ñ;ñô
 !Ÿ\™\¨,Ñ7Ü!$§¡Ð.>Ñ!?Ü!$§¡Ð.>Ñ!?ññ
!ô 
ð �L‰L˜Ñ ×'Ñ'Øà=AÀT¹\œŸ™Ð%8Ò9Ü Ÿ\™\Ð*=Ñ>à=AÀT¹\œŸ™Ð%8Ò9Ü Ÿ\™\Ð*=Ñ>ñð	)ô 	ô 	‰Ñ˜Ð/ Ò/¨Ò/ð ˜FÑ"Ø"ˆD×"Ñ" F¨=Ñ$9Ñ:Ø˜FÑ"Ø"ˆD×"Ñ" F¨=Ñ$9Ñ:Ø×Ñ˜lÔ+Ø�‰�r   rH   T)rJ   c                 ó   — | j                   S r:   )rb   ©r=   s    r   Ú<lambda>zAxis.<lambda>’   s   € ˜dŸnšnr   c                 ó<  — t        j                  dd| j                  d   d   | j                  d   d   d¬«      | _        t	        j
                  ddgddggd	¬
«      | _        | j                  | j                  d   «       | j                  j                  | j                  «       | j                  j                  | j                  «       t        j                  g «      | _        | j                  j                  | j                  «       | j                  j                  | j                  «       | j                  j                  | j                  «       | j                  j                  | j                  _        | j                  j                  | j                  _        y )N)r   r   rY   rV   rU   T)ÚxdataÚydatarV   rU   Úantialiasedr   r
   F)Úclosed)ÚmlinesÚLine2Drj   ÚlineÚmpatchesÚPolygonÚpaneÚset_pane_colorrA   Ú_set_artist_propsr   ÚLine3DCollectionÚ	gridlinesrT   Ú
offsetTextÚ	transDataÚ
_transformrw   s    r   rr   zAxis._init3d”   s"  € Ü—M‘MØ Ø—l‘l :Ñ.¨{Ñ;Ø—,‘,˜zÑ*¨7Ñ3Øô	ˆŒ	ô ×$Ñ$ q¨! f¨q°!¨fÐ%5¸eÔDˆŒ	Ø×Ñ˜DŸL™L¨Ñ1Ô2à�	‰	×#Ñ# D§I¡IÔ.Ø�	‰	×#Ñ# D§I¡IÔ.Ü×/Ñ/°Ó3ˆŒØ�	‰	×#Ñ# D§N¡NÔ3Ø�	‰	×#Ñ# D§J¡JÔ/Ø�	‰	×#Ñ# D§O¡OÔ4à $§	¡	× 3Ñ 3ˆ�
‰
ÔØ%)§Y¡Y×%8Ñ%8ˆ�‰Õ"r   c                 ó$   — | j                  «        y r:   )rr   rw   s    r   Úinit3dzAxis.init3d©   s   € à�‰�r   c                 óú   •— t         ‰| �  |«      }|D ]e  }|j                  |j                  |j                  |j
                  |j                  fD ]'  }|j                  | j                  j                  «       Œ) Œg |S r:   )
rn   Úget_major_ticksr   r    r$   r   r   Úset_transformrA   r‰   ©r=   ÚnumticksÚticksÚtÚobjru   s        €r   rŽ   zAxis.get_major_ticks­   óh   ø€ Ü‘Ñ'¨Ó1ˆÛˆAà—K‘K §¡¨a¯j©j¸!¿(¹(ÀAÇHÁHóN�à×!Ñ! $§)¡)×"5Ñ"5Õ6ñNð ð ˆr   c                 óú   •— t         ‰| �  |«      }|D ]e  }|j                  |j                  |j                  |j
                  |j                  fD ]'  }|j                  | j                  j                  «       Œ) Œg |S r:   )
rn   Úget_minor_ticksr   r    r$   r   r   r�   rA   r‰   r�   s        €r   r—   zAxis.get_minor_ticksµ   r•   r   c                 óD   — t        j                  g d¢|¬«       || _        y)zÜ
        Set the ticks position.

        Parameters
        ----------
        position : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the bolded axis lines, ticks, and tick labels.
        ©ÚlowerÚupperÚbothrL   Únone©ÚpositionN)r   Úcheck_in_listrg   ©r=   rŸ   s     r   Úset_ticks_positionzAxis.set_ticks_position½   s    € ô 	×ÑÒHØ$,õ	.à&ˆÕr   c                 ó   — | j                   S )zÑ
        Get the ticks position.

        Returns
        -------
        str : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the bolded axis lines, ticks, and tick labels.
        )rg   rw   s    r   Úget_ticks_positionzAxis.get_ticks_positionÊ   s   € ð ×"Ñ"Ð"r   c                 óD   — t        j                  g d¢|¬«       || _        y)z½
        Set the label position.

        Parameters
        ----------
        position : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the axis label.
        r™   rž   N)r   r    rf   r¡   s     r   Úset_label_positionzAxis.set_label_positionÕ   s    € ô 	×ÑÒHØ$,õ	.à'ˆÕr   c                 ó   — | j                   S )z²
        Get the label position.

        Returns
        -------
        str : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the axis label.
        )rf   rw   s    r   Úget_label_positionzAxis.get_label_positionâ   s   € ð ×#Ñ#Ð#r   c                 ó  — t        j                  ||«      }|| j                  d<   | j                  j	                  |«       | j                  j                  |«       | j                  j                  |d   «       d| _        y)zî
        Set pane color.

        Parameters
        ----------
        color : :mpltype:`color`
            Color for axis pane.
        alpha : float, optional
            Alpha value for axis pane. If None, base it on *color*.
        rU   éÿÿÿÿTN)ÚmcolorsÚto_rgbarj   rƒ   Úset_edgecolorÚset_facecolorÚ	set_alphaÚstale)r=   rU   Úalphas      r   r„   zAxis.set_pane_colorí   sc   € ô —‘  uÓ-ˆØ %ˆ�‰�WÑØ�	‰	×Ñ Ô&Ø�	‰	×Ñ Ô&Ø�	‰	×Ñ˜E "™IÔ&Øˆ�
r   c                 ó    — || _         d| _        y)z‘
        Whether to rotate the axis label: True, False or None.
        If set to None the label will be rotated if longer than 4 chars.
        TN)Ú_rotate_labelr°   )r=   Úvals     r   rq   zAxis.set_rotate_labelÿ   s   € ð
 !ˆÔØˆ�
r   c                 óN   — | j                   �| j                   S t        |«      dkD  S )Nr.   )r³   Úlen)r=   Útexts     r   Úget_rotate_labelzAxis.get_rotate_label  s(   € Ø×ÑÐ)Ø×%Ñ%Ð%ä�t“9˜q‘=Ð r   c                 ó.  — t        j                  | j                  j                  «       | j                  j	                  «       | j                  j                  «       g«      j                  \  }}|d   |d   |d   |d   |d   |d   f}| j                  j                  |«      }t        j                  d«      }t        j                  d«      }t        d«      D ]_  }t        j                  || j                  d|z     df   «      ||<   t        j                  || j                  d|z  dz      df   «      ||<   Œa ||k  }t        j                  ||z
  «      t        j                  t        «      j                  k  }	t        j                   |	«      dk(  r~t        j"                  |	 «      d   d   }
|
dk(  rt        j                  dd|d   g«      }nA|
dk(  rt        j                  d|d   dg«      }n |
dk(  rt        j                  |d   ddg«      }||||fS )Nr   r
   r/   r,   TF)r   ÚarrayrA   Ú
get_xboundÚ
get_yboundÚ
get_zboundÚTÚ_transformed_cubeÚzerosÚrangeÚmeanÚ_PLANESÚabsÚfinfoÚfloatÚepsÚsumÚwhere)r=   ÚminsÚmaxsÚboundsÚbounds_projÚmeans_z0Úmeans_z1r2   ÚhighsÚequalsÚverticals              r   Ú_get_coord_infozAxis._get_coord_info  sà  € Ü—X‘XØ�I‰I× Ñ Ó"Ø�I‰I× Ñ Ó"Ø�I‰I× Ñ Ó"ð
ó ÷ ‰1ñ	 	ˆˆdð �a‘˜$˜q™' 4¨¡7¨D°©G°T¸!±W¸dÀ1¹gÐEˆØ—i‘i×1Ñ1°&Ó9ˆô —8‘8˜A“;ˆÜ—8‘8˜A“;ˆÜ�q–ˆAÜŸ'™' +¨d¯l©l¸1¸q¹5Ñ.AÀ1Ð.DÑ"EÓFˆH�Q‰KÜŸ'™' +¨d¯l©l¸1¸q¹5À1¹9Ñ.EÀqÐ.HÑ"IÓJˆH�QŠKð ð ˜8Ñ#ˆô —‘˜ 8Ñ+Ó,´·±¼³×0CÑ0CÑCˆÜ�6‰6�&‹>˜QÒÜ—x‘x  Ó(¨Ñ+¨AÑ.ˆHØ˜1Š}ÜŸ™ $¨¨e°A©hÐ!7Ó8‘Ø˜Q’ÜŸ™ $¨¨a©°%Ð!8Ó9‘Ø˜Q’ÜŸ™ %¨¡(¨E°5Ð!9Ó:�à�T˜;¨Ð-Ð-r   c                 ó.   — d||z   z  }d}||z
  |z  }||fS )Nç      à?g{®Gáz´?rK   )r=   rË   rÊ   r   Úscaler   s         r   Ú_calc_centers_deltaszAxis._calc_centers_deltas-  s/   € Ø˜ ™Ñ%ˆð
 ˆØ˜‘+ Ñ&ˆØ˜ˆÐr   c                 óÌ  — ||g}|ddd…   }|||g|||g|||gg}|| j                   j                     | j                  d      }| j                  d   }|d   j                  «       }|dk(  r|d   |d      |d   |d      k  s|dk(  r)|d   |d      |d   |d      kD  r|d   |d      ||d   <   n|d   |d      ||d   <   |j                  «       }	|d   |d      |	|d   <   ||	fS )	z3Get the edge points for the black bolded axis line.Nrª   r2   r4   r   rš   r
   r›   )rA   Ú_vertical_axisrj   ri   )
r=   ÚminmaxÚmaxminrŸ   ÚmbÚmb_revÚmmr4   Úedge_point_0Úedge_point_1s
             r   Ú_get_axis_line_edge_pointszAxis._get_axis_line_edge_points7  s6  € ð
 �fÐˆØ‘D�b�D‘ˆØ�6˜6Ð" V¨V°RÐ$8¸2¸rÀ2¸,ÐGˆØ�—	‘	×(Ñ(Ñ)¨$¯,©,°sÑ*;Ñ<ˆà—,‘,˜yÑ)ˆØ˜!‘u—z‘z“|ˆà˜Ò  R¨¡U¨7°2©;Ñ%7¸"¸Q¹%ÀÈÁÑ:LÒ%LØ˜WÒ$¨¨A©¨w°r©{Ñ);¸bÀ¹eÀGÈBÁKÑ>PÒ)PØ(*¨1©¨g°b©kÑ(:ˆL˜ ™Ò%à')¨!¡u¨W°Q©ZÑ'8ˆL˜ ™Ñ$à#×(Ñ(Ó*ˆØ#% a¡5¨°©Ñ#4ˆ�W˜Q‘ZÑ à˜\Ð)Ð)r   c                 ó–  — g }g }g }|dv r| j                  ||«      \  }}|g}|g}dg}nœ| j                  ||d¬«      \  }	}
| j                  ||d¬«      \  }}|dv r3|j                  |	«       |j                  |
«       |j                  d«       |dv r3|j                  |«       |j                  |«       |j                  d«       |||fS )N)NrL   rL   rš   rž   r›   )rš   rœ   )r›   rœ   )rá   Úappend)r=   rÚ   rÛ   Úaxis_positionÚedgep1sÚedgep2srŸ   Úedgep1Úedgep2Úedgep1_lÚedgep2_lÚedgep1_uÚedgep2_us                r   Ú_get_all_axis_line_edge_pointsz#Axis._get_all_axis_line_edge_pointsO  sò   € àˆØˆØˆØÐ-Ñ-Ø!×<Ñ<¸VÀVÓL‰NˆF�FØ�hˆGØ�hˆGØ!�{‰Hà!%×!@Ñ!@ÀÈØJQð "Aó "SÑˆH�hà!%×!@Ñ!@ÀÈØJQð "Aó "SÑˆH�hàÐ 1Ñ1Ø—‘˜xÔ(Ø—‘˜xÔ(Ø—‘ Ô(ØÐ 1Ñ1Ø—‘˜xÔ(Ø—‘˜xÔ(Ø—‘ Ô(Ø˜ Ð)Ð)r   c                 óô  — t        j                  d|¬«       | j                  j                  «       D �cg c]  }|d   ‘Œ	 }}t	        j
                  | j                  j                  dz   d«      dz
  }t	        j
                  | j                  j                  d«      }|dk(  r"|dk\  rg d¢}ng d	¢}d|cxk  rdk  r/n n,d
|d<   n&|dk(  r!|dk\  rg d¢}ng d¢}d|cxk  rdk  rn nd|d<   | j                  j                  «       D �cg c]  }|d   ‘Œ	 }}| j                  d   }| j                  j                  }|dz
  }	t	        j                  ||	 «      t	        j                  ||	«         |   }
|
S c c}w c c}w )aS  
        Get the direction of the tick.

        Parameters
        ----------
        position : str, optional : {'upper', 'lower', 'default'}
            The position of the axis.

        Returns
        -------
        tickdir : int
            Index which indicates which coordinate the tick line will
            align with.
        )r›   rš   rL   rž   r3   é´   ih  r›   r   )r/   r/   r   )r
   r   r   r
   r/   rš   )r
   r   r
   )r/   r/   r
   r2   )r   r    rh   Úvaluesr   ÚmodrA   ÚelevÚazimrj   rÙ   Úroll)r=   rŸ   ÚvÚtickdirs_baseÚelev_modÚazim_modÚinfo_ir2   Úvert_axÚjr3   s              r   Ú_get_tickdirzAxis._get_tickdirh  s\  € ô 	×ÑÐ8À8ÕLð 04¯|©|×/BÑ/BÔ/DÓEÑ/D¨!˜˜9›Ð/DˆÐEÜ—6‘6˜$Ÿ)™)Ÿ.™.¨3Ñ.°Ó4°sÑ:ˆÜ—6‘6˜$Ÿ)™)Ÿ.™.¨#Ó.ˆØ�wÒØ˜1Š}Ú )‘â )�Ø�HÔ"˜sÕ"Ø#$�˜aÒ Ø˜Ò Ø˜1Š}Ú )‘â )�Ø�HÔ"˜sÕ"Ø#$�˜aÑ Ø"&§,¡,×"5Ñ"5Ô"7Ó8Ñ"7˜Q�!�C“&Ð"7ˆÐ8à�L‰L˜ÑˆØ—)‘)×*Ñ*ˆØ�a‰Kˆä—'‘'˜& 1 "Ó%¤b§g¡g¨m¸QÓ&?Ñ@ÀÑCˆØˆùò1 Fùò" 9s   ´E0ÄE5c                 ó  — | j                  «       \  }}}}| j                  }|d   }||   s||   }| j                  d|z     }n||   }| j                  d|z  dz      }t        j                  |D �	cg c]  }	||	   ‘Œ	 c}	«      }
|
|fS c c}	w )Nr2   r/   r
   )rÓ   rj   rÃ   r   rº   )r=   rÊ   rË   ÚtcrÐ   ÚinfoÚindexÚlocÚplaneÚpÚxyss              r   Úactive_panezAxis.active_pane”  s›   € Ø $× 4Ñ 4Ó 6Ñˆˆd�B˜Ø�|‰|ˆØ�S‘	ˆØ�UŠ|Ø�u‘+ˆCØ—L‘L  U¡Ñ+‰Eà�u‘+ˆCØ—L‘L  U¡¨Q¡Ñ/ˆEÜ�h‰h¡uÓ-¡u !˜˜1› uÑ-Ó.ˆØ�Cˆxˆùò .s   Á1Bc                 óø   — |j                  d| j                  «       ¬«       | j                  «       \  }}|dd…dd…f   | j                  _        | j                  j                  |«       |j                  d«       y)zˆ
        Draw pane.

        Parameters
        ----------
        renderer : `~matplotlib.backend_bases.RendererBase` subclass
        Úpane3d©ÚgidNr/   )Ú
open_groupÚget_gidr  rƒ   ÚxyÚdrawÚclose_group)r=   Úrendererr  r  s       r   Ú	draw_panezAxis.draw_pane¡  sd   € ð 	×Ñ˜H¨$¯,©,«.ÐÔ9Ø×#Ñ#Ó%‰ˆˆSØš1˜b˜q˜b˜5‘zˆ�	‰	ŒØ�	‰	�‰�xÔ Ø×Ñ˜XÕ&r   c                 ó2   — g d¢}d|| j                   d   <   |S )N©TTTFr2   )rj   )r=   r   s     r   Ú_axmaskzAxis._axmask¯  s   € Ú#ˆØ$)ˆˆt�|‰|˜CÑ Ñ!Øˆr   c                 óÔ  — | j                  «       }| j                  }	|	d   }
|	d   }| j                  «       \  }}}}| j                  ||«      \  }}| j	                  |«      }||   r||   n||    }|	d   }|d   |z  }|d   |z  }|d   }||   }||z   }||z
  }d}||z  }|D �]A  }|j                  «       }|j                  «       ||
<   |||<   t        j                  g |¢| j                  j                  ‘­Ž \  }}}|||<   t        j                  g |¢| j                  j                  ‘­Ž \  }}} |j                  «       |z   |z  }!|||<   t        |||!| j                  «       «      }t        j                  g |¢| j                  j                  ‘­Ž \  }"}#}$t        |||f||f|"|#f«       |j                  j!                  ||j"                     «       |j%                  |«       �ŒD y )Nr2   r4   r%   rS   rR   rV   g       @)Ú_update_ticksrj   rÓ   r×   rü   ri   Úget_locr   Úproj_transformrA   ÚMÚget_padr   r  r)   r   Úset_linewidthÚ_majorr  )%r=   r  rç   r   r   rÐ   Údeltas_per_pointÚposr’   rÿ   r   r4   rÊ   rË   rþ   r3   Ú	tickdeltaÚ	tick_infoÚtick_outÚtick_inÚtick_lwÚedgep1_tickdirÚout_tickdirÚ
in_tickdirÚdefault_label_offsetÚpointsr%   Úx1Úy1Úz1Úx2Úy2Úz2ÚlabeldeltasÚlxÚlyÚlzs%                                        r   Ú_draw_tickszAxis._draw_ticks´  s  € à×"Ñ"Ó$ˆØ�|‰|ˆØ�S‘	ˆØ�y‘/ˆà $× 4Ñ 4Ó 6Ñˆˆd�B˜Ø×3Ñ3°D¸$Ó?‰ˆ�ð ×#Ñ# CÓ(ˆØ',¨W¢~�F˜7’O¸FÀ7¹OÐ;Kˆ	à˜‘Lˆ	ØÐ-Ñ.°Ñ:ˆØ˜OÑ,¨yÑ8ˆØ˜KÑ(ˆØ ™ˆØ$ xÑ/ˆØ# gÑ-ˆ
à!ÐØ! FÑ*ˆÜˆDà—+‘+“-ˆCØŸ™›ˆC�‰JØ&ˆC�‰LÜ×.Ñ.ÐA°ÐA°T·Y±Y·[±[ÒA‰JˆB��BØ%ˆC�‰LÜ×.Ñ.ÐA°ÐA°T·Y±Y·[±[ÒA‰JˆB��Bð  Ÿ<™<›>Ð,@Ñ@ÀFÑJˆKà)ˆC�‰LÜ# C¨°+¸t¿|¹|»~ÓNˆCÜ×.Ñ.ÐA°ÐA°T·Y±Y·[±[ÒA‰JˆB��Bä! $¨¨R¨°2°r°(¸RÀ¸HÔEØ�N‰N×(Ñ(¨°·±Ñ)=Ô>Ø�I‰I�hÖñ% r   c
                 ó˜  — | j                   }
|
d   }|
d   }|
d   }|d   dk(  r|}d}n|}d}t        |||| j                  «       «      }t        j                  g |¢| j
                  j                  ‘­Ž \  }}}| j                  j                  | j                  j                  j                  «       «       | j                  j                  ||f«       t        j                  t        j                   t        j"                  |	|«      «      «      }| j                  j%                  |«       | j                  j'                  d«       t        j                  g |¢| j
                  j                  ‘­Ž }||   |||f   kD  rJ||   |||f   k  r:t        j(                  |«      dz  dk(  r|j+                  «       g d¢k(  r|d	v rd
}n:d}n7d
}n4||   |||f   kD  r%t        j(                  |«      dz  dk(  r
|dk(  rdnd
}nd}| j                  j-                  d«       | j                  j/                  |«       | j                  j1                  |«       y )Nr2   r4   r3   r/   r   r
   rN   )FTT)r
   r/   ÚleftÚrightrM   )rj   r   r  r   r  rA   r  rˆ   Úset_textÚmajorÚ	formatterÚ
get_offsetr   r   Ú_norm_text_angler   Úrad2degÚarctan2Úset_rotationÚset_rotation_modeÚcount_nonzeroÚtolistÚset_vaÚset_har  )r=   r  rç   rè   r.  r   rÐ   ÚpepÚdxÚdyrÿ   r   r4   r3   Ú
outeredgepÚ
outerindexr  ÚolxÚolyÚolzÚangleÚcentptÚaligns                          r   Ú_draw_offset_textzAxis._draw_offset_textà  s  € ð �|‰|ˆØ�S‘	ˆØ�y‘/ˆØ�y‘/ˆð �1‰:˜Š?ØˆJØ‰JàˆJØˆJä 
¨G°[Ø $§¡£ó0ˆä×-Ñ-Ð@¨sÐ@°D·I±I·K±KÒ@‰ˆˆS�#Ø�‰× Ñ  §¡×!5Ñ!5×!@Ñ!@Ó!BÔCØ�‰×$Ñ$ c¨3 ZÔ0Ü×&Ñ&¤r§z¡z´"·*±*¸RÀÓ2DÓ'EÓFˆØ�‰×$Ñ$ UÔ+ð 	�‰×)Ñ)¨(Ô3ô" ×&Ñ&Ð=¨Ð=°·±·±Ò=ˆØ�'‰?˜S ¨*Ð!4Ñ5Ò5à�u‘  U¨JÐ%6Ñ!7Ò7Ü×(Ñ(¨Ó/°!Ñ3°qÒ8ð —<‘<“>Ò%8Ò8¸UÀf¹_Ø"‘Eà#‘Eð ‘ð �u‘  E¨:Ð$5Ñ 6Ò6Ü×(Ñ(¨Ó/°!Ñ3°qÒ8à#(¨A¢:™°6‘ð  �à�‰×Ñ˜xÔ(Ø�‰×Ñ˜uÔ%Ø�‰×Ñ˜XÕ&r   c                 óì  — | j                   d   }d||z   z  }	t        |	||| j                  «       «      }	t        j                  g |	¢| j
                  j                  ‘­Ž \  }
}}| j                  j                  |
|f«       | j                  | j                  j                  «       «      rWt        j                  t        j                  t        j                  ||«      «      «      }| j                  j!                  |«       | j                  j#                  |d   «       | j                  j%                  |d   «       | j                  j'                  |d   «       | j                  j)                  |«       y )NrT   rÕ   rO   rP   rQ   )rj   r   r  r   r  rA   r  rT   r   r¸   Úget_textr   r:  r   r;  r<  r=  rA  rB  r>  r  )r=   r  rç   rè   r.  r   rD  rE  rT   ÚlxyzÚtlxÚtlyÚtlzrK  s                 r   Ú_draw_labelszAxis._draw_labels'  s  € Ø—‘˜WÑ%ˆð �f˜v‘oÑ&ˆÜ   w°¸T¿\¹\»^ÓLˆÜ×-Ñ-ÐA¨tÐA°T·Y±Y·[±[ÒA‰ˆˆS�#Ø�
‰
×Ñ  c 
Ô+Ø× Ñ  §¡×!4Ñ!4Ó!6Ô7Ü×*Ñ*¬2¯:©:´b·j±jÀÀRÓ6HÓ+IÓJˆEØ�J‰J×#Ñ# EÔ*Ø�
‰
×Ñ˜% ™+Ô&Ø�
‰
×Ñ˜% ™+Ô&Ø�
‰
×$Ñ$ U¨?Ñ%;Ô<Ø�
‰
�‰˜Õ!r   c                 ó  — | j                   j                  | j                  _        | j                   j                  | j                  _        |j                  d| j                  «       ¬«       | j                  «       \  }}}}| j                  ||«      \  }}| j                  d¬«      j                  j                  «       }|j                  | j                   j                  j                  «      }	t        d|	z  «      }
d|
z  }d}| j                   |z   |z  |z  }t#        j$                  |||«      }t#        j$                  | ||«      }t'        | j)                  ||| j*                  «      Ž D �]  \  }}}t-        j.                  ||g| j                   j0                  «      }t#        j2                  |«      }| j                   j4                  j                  |dd	…d
f   g«      | j                   j4                  j                  |dd	…df   g«      z
  d   \  }}| j6                  j9                  |d   |d
   «       | j6                  j;                  |«       | j=                  |||||||«       | j?                  |||||||||«	       �Œ t'        | j)                  ||| j@                  «      Ž D ]¿  \  }}}t-        j.                  ||g| j                   j0                  «      }t#        j2                  |«      }| j                   j4                  j                  |dd	…d
f   g«      | j                   j4                  j                  |dd	…df   g«      z
  d   \  }}| jC                  |||||||«       ŒÁ |jE                  d«       d| _#        y )NÚaxis3dr  F)Úrootg      R@é0   g      5@r   r/   r
   )$rA   r‰   rT   rŠ   rˆ   r
  r  rÓ   r×   Ú
get_figureÚdpi_scale_transÚinvertedÚ	transformÚbboxÚsizerÈ   Úlabelpadr   rÉ   Úziprí   rg   r   Ú_proj_trans_pointsr  r   Ú	transAxesr€   r#   r  r2  rN  rf   rU  r  r°   )r=   r  rÊ   rË   rþ   rÐ   r   r   ÚreltoinchesÚ	ax_inchesÚax_points_estimater  Údefault_offsetr.  rÚ   rÛ   rç   rè   r  rC  rD  rE  s                         r   r  z	Axis.draw7  sC  € à $§	¡	× 3Ñ 3ˆ�
‰
ÔØ%)§Y¡Y×%8Ñ%8ˆ�‰Ô"Ø×Ñ˜H¨$¯,©,«.ÐÔ9ð !%× 4Ñ 4Ó 6Ñˆˆd�B˜Ø×3Ñ3°D¸$Ó?‰ˆ�ð —o‘o¨5�oÓ1×AÑA×JÑJÓLˆØ×)Ñ)¨$¯)©)¯.©.×*=Ñ*=Ó>ˆ	Ü   y¡Ó1ÐØÐ 2Ñ2ÐØˆØ—}‘} ~Ñ5Ð9IÑIÈFÑRˆô —‘˜%  tÓ,ˆÜ—‘˜5˜& $¨Ó-ˆä#&¨×(KÑ(KØ+1°6¸4×;NÑ;Nó)Pô $QÑˆF�F˜Cô ×+Ñ+¨V°VÐ,<¸d¿i¹i¿k¹kÓJˆCÜ—*‘*˜S“/ˆCð —i‘i×)Ñ)×3Ñ3°S¸¸1¸¸a¸±[°MÓBØ—i‘i×)Ñ)×3Ñ3°S¸¸1¸¸a¸±[°MÓBñCØDEñG‰FˆB�ð �I‰I×Ñ˜s 1™v s¨1¡vÔ.Ø�I‰I�N‰N˜8Ô$ð ×Ñ˜X v¨w¸ÀØ-¨sô4ð ×"Ñ" 8¨V°V¸[Ø#*¨E°3¸¸Bö@ð3$Qô8 $'¨×(KÑ(KØ+1°6¸4×;OÑ;Oó)Qó $RÑˆF�F˜Cô ×+Ñ+¨V°VÐ,<¸d¿i¹i¿k¹kÓJˆCÜ—*‘*˜S“/ˆCØ—i‘i×)Ñ)×3Ñ3°S¸¸1¸¸a¸±[°MÓBØ—i‘i×)Ñ)×3Ñ3°S¸¸1¸¸a¸±[°MÓBñCØDEñG‰FˆB�ð ×Ñ˜h¨°¸ÀWÈbÐRTÕUð$Rð 	×Ñ˜XÔ&Øˆ�
r   c                 óì  — | j                   j                  sy |j                  d| j                  «       ¬«       | j	                  «       }t        |«      �rŠ| j                  }|d   }| j                  «       \  }}}}t        j                  |||«      }	t        j                  | ||«      }
t        j                  |	t        |«      df«      }|D �cg c]  }|j                  «       ‘Œ c}|d d …|f<   t        j                  |||gd¬«      }|
|dz
     |d d …d|dz
  f<   |
|dz
     |d d …d|dz
  f<   | j                  j                  |«       |d   }| j                  j                  |d	   «       | j                  j!                  |d
   «       | j                  j#                  |d   «       | j                  j%                  «        | j                  j'                  |«       |j)                  d«       y c c}w )NÚgrid3dr  r2   r
   )r   r/   r   rZ   rU   rV   rX   )rA   Ú
_draw_gridr
  r  r  r¶   rj   rÓ   r   rÉ   Útiler  Ústackr‡   Úset_segmentsÚ	set_colorr  r!   Údo_3d_projectionr  r  )r=   r  r’   rÿ   r   rÊ   rË   rþ   rÐ   rÚ   rÛ   Úxyz0r%   r   Úgridinfos                  r   Ú	draw_gridzAxis.draw_gridx  s´  € à�y‰y×#Ò#Øà×Ñ˜H¨$¯,©,«.ÐÔ9à×"Ñ"Ó$ˆÜˆu�:à—<‘<ˆDØ˜‘IˆEà$(×$8Ñ$8Ó$:Ñ!ˆD�$˜˜Eä—X‘X˜e T¨4Ó0ˆFÜ—X‘X˜u˜f d¨DÓ1ˆFô —7‘7˜6¤C¨£J° ?Ó3ˆDÙ9>Ó?¹°˜dŸl™l�n¸Ñ?ˆD’�E�‰Nô —H‘H˜d D¨$Ð/°aÔ8ˆEØ%+¨E°A©IÑ%6ˆE’!�Q˜ ™	�/Ñ"Ø%+¨E°A©IÑ%6ˆE’!�Q˜ ™	�/Ñ"Ø�N‰N×'Ñ'¨Ô.Ø˜F‘|ˆHØ�N‰N×$Ñ$ X¨gÑ%6Ô7Ø�N‰N×(Ñ(¨°+Ñ)>Ô?Ø�N‰N×(Ñ(¨°+Ñ)>Ô?Ø�N‰N×+Ñ+Ô-Ø�N‰N×Ñ Ô)à×Ñ˜XÕ&ùò# @s   ÃG1F)Úfor_layout_onlyc                óì  — | j                  «       sy | j                  «       }| j                  «       }g | j                  t	        |«      «      ¢| j                  t	        |«      «      ¢}| j                  «       \  }}||kD  r||}}| j                  «       j                  ||g«      }g }	|D ]X  }
	 | j                  «       j                  |
j                  «       «      }t        j                  ||«      sŒH|	j                  |
«       ŒZ |	}| j                  ||«      \  }}g }| j                  j                  «       r*|j                  | j                  j!                  |«      «       | j"                  j                  «       rF|sD| j"                  j%                  «       r*|j                  | j"                  j!                  |«      «       t        j&                  j)                  g |¢|¢|¢«      S # t        $ r Y �ŒIw xY wr:   )Úget_visibleÚget_majorticklocsÚget_minorticklocsr—   r¶   rŽ   Úget_view_intervalÚget_transformr]  r  ÚmtransformsÚ_interval_contains_closerã   ÚAssertionErrorÚ_get_ticklabel_bboxesr€   Úget_window_extentrT   rP  ÚBboxÚunion)r=   r  rs  Ú
major_locsÚ
minor_locsr’   Úview_lowÚ	view_highÚ
interval_tÚticks_to_drawr%   Úloc_tÚbb_1Úbb_2Úothers                  r   Úget_tightbboxzAxis.get_tightbbox¡  s¿  € à×ÑÔ!Øð ×+Ñ+Ó-ˆ
Ø×+Ñ+Ó-ˆ
ð9�$×&Ñ&¤s¨:£Ó7ð 9Ø×&Ñ&¤s¨:£Ó7ð9ˆà"×4Ñ4Ó6Ñˆ�)Ø�iÒØ"+¨X�iˆHØ×'Ñ'Ó)×3Ñ3°X¸yÐ4IÓJˆ
àˆÛˆDð/Ø×*Ñ*Ó,×6Ñ6°t·|±|³~ÓF�ô ×7Ñ7¸
ÀEÕJØ!×(Ñ(¨Õ.ð ð ˆà×/Ñ/°°xÓ@‰
ˆˆdØˆà�9‰9× Ñ Ô"Ø�L‰L˜Ÿ™×4Ñ4°XÓ>Ô?Ø�J‰J×"Ñ"Ô$©_Ø—
‘
×#Ñ#Ô%Ø�L‰L˜Ÿ™×5Ñ5°hÓ?Ô@ä×Ñ×%Ñ%Ð&<¨Ð&<¨tÐ&<°eÐ&<Ó=Ð=øô' "ò ò ðús   Â--G&Ç&	G3Ç2G3Úget_data_interval)ÚalternativerJ   c                 ó"   — | j                  «       S r:   )rŒ  rw   s    r   rx   zAxis.<lambda>Ñ  ó   €  $×"8Ñ"8Ô":r   c                 ó    —  | j                   |Ž S r:   )ro   ©r=   rÚ   s     r   rx   zAxis.<lambda>Ò  ó   € Ð*@¨$×*@Ñ*@À&Ñ*Ir   rx  c                 ó"   — | j                  «       S r:   )rx  rw   s    r   rx   zAxis.<lambda>Õ  r�  r   c                 ó    —  | j                   |Ž S r:   )rp   r‘  s     r   rx   zAxis.<lambda>Ö  r’  r   r:   ).rd   Ú
__module__Ú__qualname__Ú__doc__rÃ   rh   rD   rF   ra   r^   r_   Ú__signature__r   Ú
deprecatedÚpropertyr>   rr   rŒ   rŽ   r—   r¢   r¤   r¦   r¨   r„   rq   r¸   rÓ   r×   rá   rí   rü   r  r  r  r2  rN  rU  r   Úallow_rasterizationr  rr  r‹  Ú
d_intervalÚ
v_intervalÚ__classcell__)ru   s   @r   r+   r+   &   s¼  ø„ Ù)ð€Gð  ¨yÑ9Ø ¨yÑ9Ø ¨yÑ9ñ€Gð  $ôð /3ô ôQðf /˜W×.Ñ.¨yÓ9€HÔØ/ˆ?ˆ4�?‰?˜5¨$Ô/ÙÑ,Ó-ó/€Dò9ð* €T‡_�_�U DÔ)ñó *ðõõò'ò	#ò(ò	$óò$ò!ò.ò@ó*ó0*ò2*òXò'òò
* òXE'òN"ð  ×Ññ>ó  ð>ð@ ×Ññ$'ó  ð$'ðP,>¸eô ,>ð\>��—‘ØÐ.¸ô>áÑ:ÙIóKóL€Jð>��—‘ØÐ.¸ô>áÑ:ÙIóKóL„Jr   r+   c                   ól   — e Zd ZdZ ej
                  ddd«      \  ZZ ej
                  ddd«      \  ZZ	y)ÚXAxisr5   ÚviewÚ
xy_viewLimÚ	intervalxÚdataÚ
xy_dataLimN©
rd   r•  r–  rb   ÚmaxisÚ_make_getset_intervalrx  rp   rŒ  ro   rK   r   r   r   r   Ù  óG   „ Ø€IØ+F¨5×+FÑ+FØ�˜kó,+Ñ(ÐÐ(à+F¨5×+FÑ+FØ�˜kó,+Ñ(ÐÑ(r   r   c                   ól   — e Zd ZdZ ej
                  ddd«      \  ZZ ej
                  ddd«      \  ZZ	y)ÚYAxisr6   r¡  r¢  Ú	intervalyr¤  r¥  Nr¦  rK   r   r   r«  r«  á  r©  r   r«  c                   ól   — e Zd ZdZ ej
                  ddd«      \  ZZ ej
                  ddd«      \  ZZ	y)ÚZAxisr7   r¡  Ú
zz_viewLimr£  r¤  Ú
zz_dataLimNr¦  rK   r   r   r®  r®  é  r©  r   r®  )r  )r^   Únumpyr   Ú
matplotlibrl   r   r   r   r~   r   r§  r   r�   r   rz  r	   r«   r   r   r   r   r)   r   r+   r«  r®  rK   r   r   Ú<module>r³     sh   ðó
 ã ã ÷2÷ 2ñ 2÷ óEò
%ôp
Lˆ5�;‰;ô p
Lôf+ˆDô +ô+ˆDô +ô+ˆDõ +r   