Ë
    µ2Úi/E  ã                   ó  — d dl Zd dlZ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 d dlmZ d dlmZmZmZmZ d dlmZmZmZ  G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    N)Ú_api)ÚAxes©ÚCircle)ÚPath)Ú	FormatterÚNullLocatorÚFixedLocatorÚNullFormatter)ÚAffine2DÚBboxTransformToÚ	Transformc                   óÒ   ‡ — e Zd ZdZ G d„ de«      ZdZd„ Zˆ fd„Zd„ Z	d„ Z
dd	„Zd
„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ ZeZd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ˆ xZ!S )ÚGeoAxesz2An abstract base class for geographic projections.c                   ó    — e Zd ZdZdd„Zdd„Zy)úGeoAxes.ThetaFormatterz‹
        Used to format the theta tick labels.  Converts the native
        unit of radians into degrees and adds a degree symbol.
        c                 ó   — || _         y ©N)Ú	_round_to)ÚselfÚround_tos     úQ/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/projections/geo.pyÚ__init__zGeoAxes.ThetaFormatter.__init__   s	   € Ø%ˆD�Nó    Nc                 ó~   — t        t        j                  |«      | j                  z  «      | j                  z  }|d›d�S )Nz0.0fõ   Â°)ÚroundÚnpÚrad2degr   )r   ÚxÚposÚdegreess       r   Ú__call__zGeoAxes.ThetaFormatter.__call__   s5   € ÜœBŸJ™J q›M¨D¯N©NÑ:Ó;¸d¿n¹nÑLˆGØ˜d�^ ?Ð3Ð3r   )ç      ð?r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r#   © r   r   ÚThetaFormatterr      s   „ ñ	ó	&ô	4r   r*   éK   c                 óÄ   — t        j                  | d¬«      | _        t        j                  | d¬«      | _        | j
                  d   j                  | j                  «       y )NF)ÚclearÚgeo)ÚmaxisÚXAxisÚxaxisÚYAxisÚyaxisÚspinesÚregister_axis©r   s    r   Ú
_init_axiszGeoAxes._init_axis    sA   € Ü—[‘[ ¨UÔ3ˆŒ
Ü—[‘[ ¨UÔ3ˆŒ
Ø�‰�EÑ×(Ñ(¨¯©Õ4r   c                 óØ  •— t         ‰| �  «        | j                  d«       | j                  d«       | j	                  d«       | j
                  j                  t        «       «       | j                  j                  t        «       «       | j
                  j                  d«       | j                  j                  d«       | j                  j                  d¬«       | j                  t        j                  d   «       t        j                  | t         j"                   t         j"                  «       t        j$                  | t         j"                   dz  t         j"                  dz  «       y )	Né   é   r+   ÚnoneT)Úlabel1Onz	axes.gridç       @)Úsuperr-   Úset_longitude_gridÚset_latitude_gridÚset_longitude_grid_endsr1   Úset_minor_locatorr	   r3   Úset_ticks_positionÚset_tick_paramsÚgridÚmplÚrcParamsr   Úset_xlimr   ÚpiÚset_ylim©r   Ú	__class__s    €r   r-   zGeoAxes.clear%   sê   ø€ ä‰‰Œà×Ñ Ô#Ø×Ñ˜rÔ"Ø×$Ñ$ RÔ(Ø�
‰
×$Ñ$¤[£]Ô3Ø�
‰
×$Ñ$¤[£]Ô3Ø�
‰
×%Ñ% fÔ-Ø�
‰
×%Ñ% fÔ-Ø�
‰
×"Ñ"¨DÐ"Ô1ð 	�	‰	”#—,‘,˜{Ñ+Ô,ä�‰�dœRŸU™U˜F¤B§E¡EÔ*Ü�‰�dœRŸU™U˜F S™L¬"¯%©%°#©+Õ6r   c                 ó®  — | j                  | j                  «      | _        | j                  «       | _        t        | j                  «      | _        | j                  | j                  z   | j                  z   | _        t        «       j                  d| j                  dz  «      j                  d| j                   «      | _        | j                  | j                  z   | _        t        «       j                  dd«      | j                  z   t        «       j                  dd«      z   | _        t        «       j                  dd«      | j                  z   t        «       j                  dd«      z   | _        t        «       j                  t"        j$                  dz  d«      j                  t"        j$                   d«      }t        «       j                  dd«      }|| j                  z   | _        || j                  z   || j                  z   | j                  z   z   }|t        «       j                  dd«      z   | _        |t        «       j                  dd«      z   | _        y )	Né   é   r   é   éüÿÿÿgš™™™™™ñ?iøÿÿÿé   )Ú_get_core_transformÚ
RESOLUTIONÚtransProjectionÚ_get_affine_transformÚtransAffiner   ÚbboxÚ	transAxesÚ	transDatar   ÚscaleÚ_longitude_capÚ	translateÚ_xaxis_pretransformÚ_xaxis_transformÚ_xaxis_text1_transformÚ_xaxis_text2_transformr   rI   Ú_yaxis_transformÚ_yaxis_text1_transformÚ_yaxis_text2_transform)r   Úyaxis_stretchÚyaxis_spaceÚyaxis_text_bases       r   Ú_set_lim_and_transformszGeoAxes._set_lim_and_transforms9   s  € à#×7Ñ7¸¿¹ÓHˆÔà×5Ñ5Ó7ˆÔä(¨¯©Ó3ˆŒð
 × Ñ Ø×Ññà�N‰Nñð 	Œô ‹Jß‰U�1�d×)Ñ)¨AÑ-Ó.ß‰Y�q˜4×.Ñ.Ð.Ó/ð 	Ô ð
 ×$Ñ$Ø�N‰Nñð 	Ôô ‹J×Ñ˜Q Ó"Ø�N‰Nñä‹J× Ñ   AÓ&ñ'ð 	Ô#ô
 ‹J×Ñ˜Q Ó"Ø�N‰Nñä‹J× Ñ   BÓ'ñ(ð 	Ô#ô !›
×(Ñ(¬¯©°©°AÓ6×@Ñ@Ä"Ç%Á%ÀÈÓKˆÜ“j×&Ñ& q¨#Ó.ˆàØ�N‰Nñð 	Ôð Ø× Ñ ñ!àØ×Ññà�^‰^ññð 	ð Ü‹J× Ñ   QÓ'ñ(ð 	Ô#ð Ü‹J× Ñ   AÓ&ñ'ð 	Õ#r   c                 ó  — | j                  d«      }|j                  t        j                  df«      \  }}|j                  dt        j                  dz  f«      \  }}t	        «       j                  d|z  d|z  «      j                  dd«      S )NrN   r   rO   ç      à?)rS   Ú	transformr   rI   r   r[   r]   )r   rk   ÚxscaleÚ_Úyscales        r   rV   zGeoAxes._get_affine_transforml   sx   € Ø×,Ñ,¨QÓ/ˆ	Ø×'Ñ'¬¯©°¨
Ó3‰	ˆ�Ø×'Ñ'¨¬B¯E©E°!©G¨Ó5‰	ˆˆ6Ü‹zß‰U�3˜‘<  v¡Ó.ß‰Y�s˜CÓ ð	!r   c                 óL   — t        j                  g d¢|¬«       | j                  S ©N)Útick1Útick2rE   )Úwhich)r   Úcheck_in_listr_   ©r   rs   s     r   Úget_xaxis_transformzGeoAxes.get_xaxis_transformt   ó   € Ü×ÑÒ5¸UÕCØ×$Ñ$Ð$r   c                 ó    — | j                   ddfS )NÚbottomÚcenter)r`   ©r   Úpads     r   Úget_xaxis_text1_transformz!GeoAxes.get_xaxis_text1_transformx   s   € Ø×*Ñ*¨H°hÐ>Ð>r   c                 ó    — | j                   ddfS )NÚtoprz   )ra   r{   s     r   Úget_xaxis_text2_transformz!GeoAxes.get_xaxis_text2_transform{   s   € Ø×*Ñ*¨E°8Ð;Ð;r   c                 óL   — t        j                  g d¢|¬«       | j                  S rp   )r   rt   rb   ru   s     r   Úget_yaxis_transformzGeoAxes.get_yaxis_transform~   rw   r   c                 ó    — | j                   ddfS )Nrz   Úright)rc   r{   s     r   Úget_yaxis_text1_transformz!GeoAxes.get_yaxis_text1_transform‚   s   € Ø×*Ñ*¨H°gÐ=Ð=r   c                 ó    — | j                   ddfS )Nrz   Úleft)rd   r{   s     r   Úget_yaxis_text2_transformz!GeoAxes.get_yaxis_text2_transform…   s   € Ø×*Ñ*¨H°fÐ<Ð<r   c                 ó   — t        dd«      S )N©rj   rj   rj   r   r6   s    r   Ú_gen_axes_patchzGeoAxes._gen_axes_patchˆ   s   € Ü�j #Ó&Ð&r   c                 óH   — dt         j                  j                  | dd«      iS )Nr.   rŠ   rj   )ÚmspinesÚSpineÚcircular_spiner6   s    r   Ú_gen_axes_spineszGeoAxes._gen_axes_spines‹   s    € Ø”w—}‘}×3Ñ3°D¸*ÀcÓJÐKÐKr   c                 ó    — |d   dk7  rt         ‚y )Nr   Úlinear)ÚNotImplementedError©r   ÚargsÚkwargss      r   Ú
set_yscalezGeoAxes.set_yscaleŽ   s   € Ø�‰7�hÒÜ%Ð%ð r   c                 ó   — t        d«      ‚)z-Not supported. Please consider using Cartopy.zaChanging axes limits of a geographic projection is not supported.  Please consider using Cartopy.)Ú	TypeErrorr”   s      r   rH   zGeoAxes.set_xlim”   s   € äð Ió Jð 	Jr   c                 ó�   — t        j                  ||g«      \  }}|dk\  rdnd}|dk\  rdnd}dt        |«      |t        |«      |fz  S )z1Return a format string formatting the coordinate.ç        ÚNÚSÚEÚWu   %fÂ°%s, %fÂ°%s)r   r   Úabs)r   ÚlonÚlatÚnsÚews        r   Úformat_coordzGeoAxes.format_coord›   sS   € ä—:‘:˜s C˜jÓ)‰ˆˆSØ˜3’J‰S CˆØ˜3’J‰S CˆØ:Ü�s“8˜R¤ S£¨2Ð.ñ/ð 	0r   c                 óú   — t        j                  d|z   d|«      }| j                  j                  t	        t        j
                  |«      «      «       | j                  j                  | j                  |«      «       y)zH
        Set the number of degrees between each longitude grid.
        iLÿÿÿé´   N)r   Úaranger1   Úset_major_locatorr
   Údeg2radÚset_major_formatterr*   ©r   r"   rE   s      r   r?   zGeoAxes.set_longitude_grid£   sW   € ô
 �y‰y˜ ™¨¨gÓ6ˆØ�
‰
×$Ñ$¤\´"·*±*¸TÓ2BÓ%CÔDØ�
‰
×&Ñ& t×':Ñ':¸7Ó'CÕDr   c                 óú   — t        j                  d|z   d|«      }| j                  j                  t	        t        j
                  |«      «      «       | j                  j                  | j                  |«      «       y)zG
        Set the number of degrees between each latitude grid.
        i¦ÿÿÿéZ   N)r   r¨   r3   r©   r
   rª   r«   r*   r¬   s      r   r@   zGeoAxes.set_latitude_grid¬   sW   € ô
 �y‰y˜˜w™¨¨GÓ4ˆØ�
‰
×$Ñ$¤\´"·*±*¸TÓ2BÓ%CÔDØ�
‰
×&Ñ& t×':Ñ':¸7Ó'CÕDr   c                 óÜ   — t        j                  |«      | _        | j                  j	                  «       j                  d| j                  dz  «      j                  d| j                   «       y)zS
        Set the latitude(s) at which to stop drawing the longitude grids.
        r$   r=   r›   N)r   rª   r\   r^   r-   r[   r]   )r   r"   s     r   rA   zGeoAxes.set_longitude_grid_endsµ   sQ   € ô !Ÿj™j¨Ó1ˆÔØ× Ñ ß‰U‹Wß‰U�3˜×+Ñ+¨cÑ1Ó2ß‰Y�s˜T×0Ñ0Ð0Õ1r   c                  ó   — y)z+Return the aspect ratio of the data itself.r$   r)   r6   s    r   Úget_data_ratiozGeoAxes.get_data_ratio¿   s   € àr   c                  ó   — y)z—
        Return whether this Axes supports the zoom box button functionality.

        This Axes object does not support interactive zoom box.
        Fr)   r6   s    r   Úcan_zoomzGeoAxes.can_zoomÅ   ó   € ð r   c                  ó   — y)z—
        Return whether this Axes supports the pan/zoom button functionality.

        This Axes object does not support interactive pan/zoom.
        Fr)   r6   s    r   Úcan_panzGeoAxes.can_panÍ   r´   r   c                  ó   — y r   r)   )r   r    ÚyÚbuttons       r   Ú	start_panzGeoAxes.start_panÕ   ó   € Ør   c                  ó   — y r   r)   r6   s    r   Úend_panzGeoAxes.end_panØ   r»   r   c                  ó   — y r   r)   )r   r¹   Úkeyr    r¸   s        r   Údrag_panzGeoAxes.drag_panÛ   r»   r   )rE   )"r%   r&   r'   r(   r   r*   rT   r7   r-   rh   rV   rv   r}   r€   r‚   r…   rˆ   r‹   r�   r—   Ú
set_xscalerH   rJ   r¥   r?   r@   rA   r±   r³   r¶   rº   r½   rÀ   Ú__classcell__©rL   s   @r   r   r      s¤   ø„ Ù<ô
4˜ô 
4ð €Jò5ô
7ò(1'òf!ó%ò?ò<ó%ò>ò=ò'òLò&ð €JòJð
 €Hò0òEòEò2òòòòòör   r   c                   ó2   ‡ — e Zd ZdxZZˆ fd„Zd„ Zd„ Zˆ xZS )Ú_GeoTransformrO   c                 ó0   •— t         ‰| �  «        || _        y)zÁ
        Create a new geographical transform.

        Resolution is the number of steps to interpolate between each input
        line segment to approximate its path in curved space.
        N)r>   r   Ú_resolution)r   Ú
resolutionrL   s     €r   r   z_GeoTransform.__init__ã   s   ø€ ô 	‰ÑÔØ%ˆÕr   c                 óL   — t        | «      j                  › d| j                  › d�S )Nú(ú))Útyper%   rÇ   r6   s    r   Ú__str__z_GeoTransform.__str__í   s'   € Ü�t“*×%Ñ%Ð& a¨×(8Ñ(8Ð'9¸Ð;Ð;r   c                 ó–   — |j                  | j                  «      }t        | j                  |j                  «      |j
                  «      S r   )ÚinterpolatedrÇ   r   rk   ÚverticesÚcodes)r   ÚpathÚipaths      r   Útransform_path_non_affinez'_GeoTransform.transform_path_non_affineð   s6   € à×!Ñ! $×"2Ñ"2Ó3ˆÜ�D—N‘N 5§>¡>Ó2°E·K±KÓ@Ð@r   )	r%   r&   r'   Ú
input_dimsÚoutput_dimsr   rÍ   rÔ   rÂ   rÃ   s   @r   rÅ   rÅ   ß   s   ø„ à Ð €J�ô&ò<öAr   rÅ   c                   óT   ‡ — e Zd ZdZ G d„ de«      Z G d„ de«      Zˆ fd„Zd„ Zˆ xZ	S )Ú
AitoffAxesÚaitoffc                   óJ   — e Zd ZdZ ej
                  ddd«      d„ «       Zd„ Zy)úAitoffAxes.AitoffTransformzThe base Aitoff transform.ú3.8ÚllÚvaluesc                 óŠ  — |j                   \  }}|dz  }t        j                  |«      }t        j                  |t        j                  |«      z  «      }t        j                  |t        j
                  z  «      }|t        j                  |«      z  |z  }t        j                  |«      |z  }	t        j                  ||	g«      S )Nr=   )ÚTr   ÚcosÚarccosÚsincrI   ÚsinÚcolumn_stack)
r   rÞ   Ú	longitudeÚlatitudeÚ	half_longÚcos_latitudeÚalphaÚ
sinc_alphar    r¸   s
             r   Útransform_non_affinez/AitoffAxes.AitoffTransform.transform_non_affineü   s›   € ð #)§(¡(ÑˆI�xð " C™ˆIÜŸ6™6 (Ó+ˆLä—I‘I˜l¬R¯V©V°IÓ->Ñ>Ó?ˆEÜŸ™ ¬¯©¡Ó/ˆJà¤§¡ yÓ 1Ñ1°ZÑ?ˆAÜ—‘�xÓ  :Ñ-ˆAÜ—?‘? A q 6Ó*Ð*r   c                 ó@   — t         j                  | j                  «      S r   )rØ   ÚInvertedAitoffTransformrÇ   r6   s    r   Úinvertedz#AitoffAxes.AitoffTransform.inverted  ó   € ä×5Ñ5°d×6FÑ6FÓGÐGr   N©r%   r&   r'   r(   r   Úrename_parameterrì   rï   r)   r   r   ÚAitoffTransformrÛ   ù   s.   „ Ù(à	ˆ×	Ñ	˜u d¨HÓ	5ñ	+ó 
6ð	+ó	Hr   ró   c                   óF   — e Zd Z ej                  ddd«      d„ «       Zd„ Zy)ú"AitoffAxes.InvertedAitoffTransformrÜ   ÚxyrÞ   c                 óJ   — t        j                  |t         j                  «      S r   )r   Ú	full_likeÚnan)r   rÞ   s     r   rì   z7AitoffAxes.InvertedAitoffTransform.transform_non_affine  s   € ô —<‘< ¬¯©Ó/Ð/r   c                 ó@   — t         j                  | j                  «      S r   )rØ   ró   rÇ   r6   s    r   rï   z+AitoffAxes.InvertedAitoffTransform.inverted  ó   € ä×-Ñ-¨d×.>Ñ.>Ó?Ð?r   N©r%   r&   r'   r   rò   rì   rï   r)   r   r   rî   rõ     s+   „ à	ˆ×	Ñ	˜u d¨HÓ	5ñ	0ó 
6ð	0ó
	@r   rî   c                 óœ   •— t         j                  dz  | _        t        ‰| �  |i |¤Ž | j                  ddd¬«       | j                  «        y ©Nr=   rj   ÚboxÚC©Ú
adjustableÚanchor©r   rI   r\   r>   r   Ú
set_aspectr-   ©r   r•   r–   rL   s      €r   r   zAitoffAxes.__init__  ó@   ø€ Ü Ÿe™e c™kˆÔÜ‰Ñ˜$Ð) &Ò)Ø�‰˜¨°cˆÔ:Ø�
‰
�r   c                 ó$   — | j                  |«      S r   )ró   ©r   rÈ   s     r   rS   zAitoffAxes._get_core_transform"  ó   € Ø×#Ñ# JÓ/Ð/r   )
r%   r&   r'   ÚnamerÅ   ró   rî   r   rS   rÂ   rÃ   s   @r   rØ   rØ   ö   s.   ø„ Ø€DôH˜-ô Hô.
@ -ô 
@ôö0r   rØ   c                   óT   ‡ — e Zd ZdZ G d„ de«      Z G d„ de«      Zˆ fd„Zd„ Zˆ xZ	S )Ú
HammerAxesÚhammerc                   óJ   — e Zd ZdZ ej
                  ddd«      d„ «       Zd„ Zy)úHammerAxes.HammerTransformzThe base Hammer transform.rÜ   rÝ   rÞ   c                 ó€  — |j                   \  }}|dz  }t        j                  |«      }t        j                  d«      }t        j                  d|t        j                  |«      z  z   «      }d|z  |t        j                  |«      z  z  |z  }|t        j                  |«      z  |z  }	t        j
                  ||	g«      S )Nr=   r$   )rà   r   rá   Úsqrträ   rå   )
r   rÞ   ræ   rç   rè   ré   Úsqrt2rê   r    r¸   s
             r   rì   z/HammerAxes.HammerTransform.transform_non_affine,  s£   € ð #)§(¡(ÑˆI�xØ! C™ˆIÜŸ6™6 (Ó+ˆLÜ—G‘G˜C“LˆEÜ—G‘G˜C ,´·±¸	Ó1BÑ"BÑBÓCˆEØ�u‘ ´·±°yÓ0AÑ!AÑBÀUÑJˆAØœŸ™ Ó)Ñ)¨UÑ2ˆAÜ—?‘? A q 6Ó*Ð*r   c                 ó@   — t         j                  | j                  «      S r   )r  ÚInvertedHammerTransformrÇ   r6   s    r   rï   z#HammerAxes.HammerTransform.inverted8  rð   r   Nrñ   r)   r   r   ÚHammerTransformr  )  s.   „ Ù(à	ˆ×	Ñ	˜u d¨HÓ	5ñ		+ó 
6ð		+ó	Hr   r  c                   óF   — e Zd Z ej                  ddd«      d„ «       Zd„ Zy)ú"HammerAxes.InvertedHammerTransformrÜ   rö   rÞ   c                 ó   — |j                   \  }}t        j                  d|dz  dz  z
  |dz  dz  z
  «      }dt        j                  ||z  dd|dz  z  dz
  z  z  «      z  }t        j                  ||z  «      }t        j
                  ||g«      S )NrN   rP   rO   )rà   r   r  ÚarctanÚarcsinrå   )r   rÞ   r    r¸   Úzræ   rç   s          r   rì   z7HammerAxes.InvertedHammerTransform.transform_non_affine>  s‹   € ð —8‘8‰DˆAˆqÜ—‘˜˜Q ™U q™LÑ(¨A°©E°a©<Ñ7Ó8ˆAØœBŸI™I q¨1¡u°°a¸!¸q¹&±jÀ1±nÑ1EÑ&FÓGÑGˆIÜ—y‘y  1¡“~ˆHÜ—?‘? I¨xÐ#8Ó9Ð9r   c                 ó@   — t         j                  | j                  «      S r   )r  r  rÇ   r6   s    r   rï   z+HammerAxes.InvertedHammerTransform.invertedG  rû   r   Nrü   r)   r   r   r  r  <  s+   „ à	ˆ×	Ñ	˜u d¨HÓ	5ñ	:ó 
6ð	:ó	@r   r  c                 óœ   •— t         j                  dz  | _        t        ‰| �  |i |¤Ž | j                  ddd¬«       | j                  «        y rþ   r  r  s      €r   r   zHammerAxes.__init__K  r  r   c                 ó$   — | j                  |«      S r   )r  r	  s     r   rS   zHammerAxes._get_core_transformQ  r
  r   )
r%   r&   r'   r  rÅ   r  r  r   rS   rÂ   rÃ   s   @r   r  r  &  s.   ø„ Ø€DôH˜-ô Hô&@ -ô @ôö0r   r  c                   óT   ‡ — e Zd ZdZ G d„ de«      Z G d„ de«      Zˆ fd„Zd„ Zˆ xZ	S )ÚMollweideAxesÚ	mollweidec                   óJ   — e Zd ZdZ ej
                  ddd«      d„ «       Zd„ Zy)ú MollweideAxes.MollweideTransformzThe base Mollweide transform.rÜ   rÝ   rÞ   c                 ó  ‡— ˆfd„}|j                   \  }}t        j                  dz  t        j                  |«      z
  }|dk  }| }t        j                  |j
                  t        ¬«      }|j                  «       rŠt        j                  t        j                  ||   «      z  Šd||   z  }	 ||	«      \  }
}t        j                  |«      r1|	|xx   |
|   z  cc<    ||	«      \  }
}t        j                  |«      rŒ1|	dz  ||<   |j                  «       rV||   }ddt        j                  z  |dz  z  dz  z  }t        j                  dz  |z
  t        j                  ||   «      z  ||<   t        j                  |j
                  t        ¬«      }dt        j                  d«      z  t        j                  z  |z  t        j                  |«      z  |d d …d	f<   t        j                  d«      t        j                  |«      z  |d d …d
f<   |S )Nc                 ó¢   •— | t        j                  | «      z   ‰z
   dt        j                  | «      z   z  }|t        j                  |«      dkD  fS )NrN   gü©ñÒMbP?)r   rä   rá   r    )ÚthetaÚdeltaÚpi_sin_ls     €r   Údz@MollweideAxes.MollweideTransform.transform_non_affine.<locals>.d^  sJ   ø€ Ø ¤2§6¡6¨%£=Ñ0°8Ñ;Ð<Ø¤§¡ u£Ñ-ñ/�àœbŸf™f U›m¨eÑ3Ð3Ð3r   rO   gƒÀÊ¡E¶?)Údtyper=   rj   é   gUUUUUUÕ?r   rN   )rà   r   rI   r    ÚemptyÚshapeÚfloatÚanyrä   Úsignr  rá   )r   rÞ   r*  ræ   rç   ÚclatÚihighÚilowÚauxr'  r(  Úlarge_deltaÚerö   r)  s                 @r   rì   z5MollweideAxes.MollweideTransform.transform_non_affine[  s¬  ø€ ô4ð
 #)§(¡(ÑˆI�xä—5‘5˜‘7œRŸV™V HÓ-Ñ-ˆDØ˜5‘LˆEØ�6ˆDÜ—(‘(˜8Ÿ>™>´Ô7ˆCà�x‰xŒzÜŸ5™5¤2§6¡6¨(°4©.Ó#9Ñ9�Ø˜h t™nÑ,�Ù%& u£XÑ"��{Ü—f‘f˜[Ô)Ø˜+Ó&¨%°Ñ*<Ñ<Ó&Ù)*¨5«Ñ&�E˜;ô —f‘f˜[Õ)ð " A™I��D‘	à�y‰yŒ{Ø˜‘K�Ø˜1œrŸu™u™9 q¨!¡tÑ+°Ñ7Ñ7�Ü Ÿe™e A™g¨™k¬R¯W©W°X¸e±_Ó-EÑE��E‘
ä—‘˜&Ÿ,™,¬eÔ4ˆBØœbŸg™g c›lÑ*¬R¯U©UÑ2°iÑ?Ä"Ç&Á&ÈÃ+ÑMˆBŠq�!ˆt‰HÜ—w‘w˜s“|¤b§f¡f¨S£kÑ1ˆBŠq�!ˆt‰HàˆIr   c                 ó@   — t         j                  | j                  «      S r   )r!  ÚInvertedMollweideTransformrÇ   r6   s    r   rï   z)MollweideAxes.MollweideTransform.inverted~  s   € ä ×;Ñ;¸D×<LÑ<LÓMÐMr   Nrñ   r)   r   r   ÚMollweideTransformr$  X  s/   „ Ù+à	ˆ×	Ñ	˜u d¨HÓ	5ñ 	ó 
6ð 	óD	Nr   r:  c                   óF   — e Zd Z ej                  ddd«      d„ «       Zd„ Zy)ú(MollweideAxes.InvertedMollweideTransformrÜ   rö   rÞ   c                 ó¬  — |j                   \  }}t        j                  |t        j                  d«      z  «      }t        j                  dt        j                  d«      z  z  |z  t        j
                  |«      z  }t        j                  d|z  t        j                  d|z  «      z   t        j                  z  «      }t        j                  ||g«      S )NrO   )rà   r   r  r  rI   rá   rä   rå   )r   rÞ   r    r¸   r'  ræ   rç   s          r   rì   z=MollweideAxes.InvertedMollweideTransform.transform_non_affine„  sš   € ð —8‘8‰DˆAˆqô —I‘I˜a¤"§'¡'¨!£*™nÓ-ˆEÜŸ™ !¤b§g¡g¨a£j¡.Ñ1°QÑ6¼¿¹À»ÑFˆIÜ—y‘y ! e¡)¬b¯f©f°Q¸±YÓ.?Ñ"?Ä2Ç5Á5Ñ!HÓIˆHÜ—?‘? I¨xÐ#8Ó9Ð9r   c                 ó@   — t         j                  | j                  «      S r   )r!  r:  rÇ   r6   s    r   rï   z1MollweideAxes.InvertedMollweideTransform.inverted�  s   € ä ×3Ñ3°D×4DÑ4DÓEÐEr   Nrü   r)   r   r   r9  r<  ‚  s+   „ à	ˆ×	Ñ	˜u d¨HÓ	5ñ	:ó 
6ð	:ó	Fr   r9  c                 óœ   •— t         j                  dz  | _        t        ‰| �  |i |¤Ž | j                  ddd¬«       | j                  «        y rþ   r  r  s      €r   r   zMollweideAxes.__init__“  r  r   c                 ó$   — | j                  |«      S r   )r:  r	  s     r   rS   z!MollweideAxes._get_core_transform™  s   € Ø×&Ñ& zÓ2Ð2r   )
r%   r&   r'   r  rÅ   r:  r9  r   rS   rÂ   rÃ   s   @r   r!  r!  U  s/   ø„ Ø€Dô(N˜]ô (NôTF ]ô Fô"ö3r   r!  c                   ól   ‡ — e Zd ZdZ G d„ de«      Z G d„ de«      Zdddœˆ fd„
Zˆ fd	„Zd
„ Z	d„ Z
ˆ xZS )ÚLambertAxesÚlambertc                   óP   — e Zd ZdZd„ Z ej                  ddd«      d„ «       Zd„ Zy)	úLambertAxes.LambertTransformzThe base Lambert transform.c                 óL   — t         j                  | |«       || _        || _        y)zÔ
            Create a new Lambert transform.  Resolution is the number of steps
            to interpolate between each input line segment to approximate its
            path in curved Lambert space.
            N©rÅ   r   Ú_center_longitudeÚ_center_latitude©r   Úcenter_longitudeÚcenter_latituderÈ   s       r   r   z%LambertAxes.LambertTransform.__init__£  s$   € ô ×"Ñ" 4¨Ô4Ø%5ˆDÔ"Ø$3ˆDÕ!r   rÜ   rÝ   rÞ   c                 óp  — |j                   \  }}| j                  }| j                  }t        j                  |«      }t        j
                  |«      }||z
  }t        j                  |«      }	t        j                  dt        j
                  |«      |z  z   t        j                  |«      |z  |	z  z   d«      }
t        j                  d|
z  «      }||z  t        j
                  |«      z  }|t        j                  |«      |z  t        j
                  |«      |z  |	z  z
  z  }t        j                  ||g«      S )NrN   gVçž¯Ò<rO   )	rà   rH  rI  r   rá   rä   Úmaximumr  rå   )r   rÞ   ræ   rç   Úclongr2  Úcos_latÚsin_latÚ	diff_longÚcos_diff_longÚinner_kÚkr    r¸   s                 r   rì   z1LambertAxes.LambertTransform.transform_non_affine­  s  € ð #)§(¡(ÑˆI�xØ×*Ñ*ˆEØ×(Ñ(ˆDÜ—f‘f˜XÓ&ˆGÜ—f‘f˜XÓ&ˆGØ! EÑ)ˆIÜŸF™F 9Ó-ˆMä—j‘jØ”B—F‘F˜4“L Ñ(Ñ(¬2¯6©6°$«<¸Ñ+?ÀÑ+MÑMØóˆGô —‘˜˜G™Ó$ˆAØ�G‘œBŸF™F 9Ó-Ñ-ˆAØ”R—V‘V˜D“\ 'Ñ)¬B¯F©F°4«L¸Ñ,@ÀÑ,NÑNÑOˆAä—?‘? A q 6Ó*Ð*r   c                 ól   — t         j                  | j                  | j                  | j                  «      S r   )rB  ÚInvertedLambertTransformrH  rI  rÇ   r6   s    r   rï   z%LambertAxes.LambertTransform.invertedÁ  s0   € ä×7Ñ7Ø×&Ñ&Ø×%Ñ%Ø× Ñ ó"ð "r   N)	r%   r&   r'   r(   r   r   rò   rì   rï   r)   r   r   ÚLambertTransformrE     s4   „ Ù)ò	4ð 
ˆ×	Ñ	˜u d¨HÓ	5ñ	+ó 
6ð	+ó&	"r   rX  c                   óL   — e Zd Zd„ Z ej
                  ddd«      d„ «       Zd„ Zy)ú$LambertAxes.InvertedLambertTransformc                 óL   — t         j                  | |«       || _        || _        y r   rG  rJ  s       r   r   z-LambertAxes.InvertedLambertTransform.__init__Ê  s"   € Ü×"Ñ" 4¨Ô4Ø%5ˆDÔ"Ø$3ˆDÕ!r   rÜ   rö   rÞ   c           	      ó–  — |j                   \  }}| j                  }| j                  }t        j                  t        j
                  ||«      d«      }dt        j                  d|z  «      z  }t        j                  |«      }t        j                  |«      }	t        j                  |	t        j                  |«      z  ||z  t        j                  |«      z  |z  z   «      }
|t        j                  ||z  |t        j                  |«      z  |	z  |t        j                  |«      z  |z  z
  z  «      z   }t        j                  ||
g«      S )Ng•Ö&è.>rO   rj   )rà   rH  rI  r   rN  Úhypotr  rä   rá   r  rå   )r   rÞ   r    r¸   rO  r2  ÚpÚcÚsin_cÚcos_crç   ræ   s               r   rì   z9LambertAxes.InvertedLambertTransform.transform_non_affineÏ  s  € ð —8‘8‰DˆAˆqØ×*Ñ*ˆEØ×(Ñ(ˆDÜ—
‘
œ2Ÿ8™8 A q›>¨4Ó0ˆAØ”B—I‘I˜c A™gÓ&Ñ&ˆAÜ—F‘F˜1“IˆEÜ—F‘F˜1“IˆEä—y‘y ¤r§v¡v¨d£|Ñ!3Ø#$ U¡7¬2¯6©6°$«<Ñ#7¸1Ñ"<ñ">ó ?ˆHà¤§	¡	Ø�5‘˜QœrŸv™v d›|™^¨EÑ1°A´b·f±f¸T³l±NÀ5Ñ4HÑHÑIó!Kñ KˆIô —?‘? I¨xÐ#8Ó9Ð9r   c                 ól   — t         j                  | j                  | j                  | j                  «      S r   )rB  rX  rH  rI  rÇ   r6   s    r   rï   z-LambertAxes.InvertedLambertTransform.invertedá  s0   € ä×/Ñ/Ø×&Ñ&Ø×%Ñ%Ø× Ñ ó"ð "r   N)r%   r&   r'   r   r   rò   rì   rï   r)   r   r   rW  rZ  È  s1   „ ò	4ð
 
ˆ×	Ñ	˜u d¨HÓ	5ñ	:ó 
6ð	:ó"	"r   rW  r   )rK  rL  c                ó¸   •— t         j                  dz  | _        || _        || _        t        ‰| �  |i |¤Ž | j                  ddd¬«       | j                  «        y )NrO   Úequalrÿ   r   r  )	r   rI   r\   rH  rI  r>   r   r  r-   )r   rK  rL  r•   r–   rL   s        €r   r   zLambertAxes.__init__è  sP   ø€ Ü Ÿe™e a™iˆÔØ!1ˆÔØ /ˆÔÜ‰Ñ˜$Ð) &Ò)Ø�‰˜¨E¸#ˆÔ>Ø�
‰
�r   c                 óh   •— t         ‰| �  «        | j                  j                  t	        «       «       y r   )r>   r-   r3   r«   r   rK   s    €r   r-   zLambertAxes.clearð  s    ø€ ä‰‰ŒØ�
‰
×&Ñ&¤}£Õ7r   c                 óP   — | j                  | j                  | j                  |«      S r   )rX  rH  rI  r	  s     r   rS   zLambertAxes._get_core_transformõ  s*   € Ø×$Ñ$Ø×"Ñ"Ø×!Ñ!Øóð 	r   c                 óT   — t        «       j                  d«      j                  dd«      S )Ng      Ð?rj   )r   r[   r]   r6   s    r   rV   z!LambertAxes._get_affine_transformû  s!   € Ü‹zß‰U�4‹[ß‰Y�s˜CÓ ð	!r   )r%   r&   r'   r  rÅ   rX  rW  r   r-   rS   rV   rÂ   rÃ   s   @r   rB  rB  �  s=   ø„ Ø€Dô&"˜=ô &"ôP" =ô "ð@ 01À!ö ô8ò
ö!r   rB  ) Únumpyr   Ú
matplotlibrF   r   Úmatplotlib.axesr   Úmatplotlib.axisÚaxisr/   Úmatplotlib.patchesr   Úmatplotlib.pathr   Úmatplotlib.spinesr4   r�   Úmatplotlib.tickerr   r	   r
   r   Úmatplotlib.transformsr   r   r   r   rÅ   rØ   r  r!  rB  r)   r   r   ú<module>rr     s�   ðÛ ã Ý Ý  Ý Ý %Ý  Ý #÷9ó 9ç FÑ FôMˆdô Mô`A�Iô Aô.-0�ô -0ô`,0�ô ,0ô^E3�Gô E3ôPa!�'õ a!r   