§
    õŽ’j*‡  ã                   óê   — d Z ddlZddlmZmZ ddlZddlZddl	m
Z
mZ ddlmZ ddlmZmZ ddlmZmZ  ed	¦  «        \  ZZZZZZZZZZZZ  e ej!        d
¦  «        ¦  «        Z" G d„ d¦  «        Z#dS )aÄ  
Functions to handle markers; used by the marker functionality of
`~matplotlib.axes.Axes.plot`, `~matplotlib.axes.Axes.scatter`, and
`~matplotlib.axes.Axes.errorbar`.

All possible markers are defined here:

============================== ====== =========================================
marker                         symbol description
============================== ====== =========================================
``"."``                        |m00|  point
``","``                        |m01|  pixel
``"o"``                        |m02|  circle
``"v"``                        |m03|  triangle_down
``"^"``                        |m04|  triangle_up
``"<"``                        |m05|  triangle_left
``">"``                        |m06|  triangle_right
``"1"``                        |m07|  tri_down
``"2"``                        |m08|  tri_up
``"3"``                        |m09|  tri_left
``"4"``                        |m10|  tri_right
``"8"``                        |m11|  octagon
``"s"``                        |m12|  square
``"p"``                        |m13|  pentagon
``"P"``                        |m23|  plus (filled)
``"*"``                        |m14|  star
``"h"``                        |m15|  hexagon1
``"H"``                        |m16|  hexagon2
``"+"``                        |m17|  plus
``"x"``                        |m18|  x
``"X"``                        |m24|  x (filled)
``"D"``                        |m19|  diamond
``"d"``                        |m20|  thin_diamond
``"|"``                        |m21|  vline
``"_"``                        |m22|  hline
``0`` (``TICKLEFT``)           |m25|  tickleft
``1`` (``TICKRIGHT``)          |m26|  tickright
``2`` (``TICKUP``)             |m27|  tickup
``3`` (``TICKDOWN``)           |m28|  tickdown
``4`` (``CARETLEFT``)          |m29|  caretleft
``5`` (``CARETRIGHT``)         |m30|  caretright
``6`` (``CARETUP``)            |m31|  caretup
``7`` (``CARETDOWN``)          |m32|  caretdown
``8`` (``CARETLEFTBASE``)      |m33|  caretleft (centered at base)
``9`` (``CARETRIGHTBASE``)     |m34|  caretright (centered at base)
``10`` (``CARETUPBASE``)       |m35|  caretup (centered at base)
``11`` (``CARETDOWNBASE``)     |m36|  caretdown (centered at base)
``"none"`` or ``"None"``              nothing
``" "`` or  ``""``                    nothing
``"$...$"``                    |m37|  Render the string using mathtext.
                                      E.g ``"$f$"`` for marker showing the
                                      letter ``f``.
``verts``                             A list of (x, y) pairs used for Path
                                      vertices. The center of the marker is
                                      located at (0, 0) and the size is
                                      normalized, such that the created path
                                      is encapsulated inside the unit cell.
``path``                              A `~matplotlib.path.Path` instance.
``(numsides, 0, angle)``              A regular polygon with ``numsides``
                                      sides, rotated by ``angle``.
``(numsides, 1, angle)``              A star-like symbol with ``numsides``
                                      sides, rotated by ``angle``.
``(numsides, 2, angle)``              An asterisk with ``numsides`` sides,
                                      rotated by ``angle``.
============================== ====== =========================================

Note that special symbols can be defined via the
:ref:`STIX math font <mathtext>`,
e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the
`STIX font table <http://www.stixfonts.org/allGlyphs.html>`_.
Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`.

Integer numbers from ``0`` to ``11`` create lines and triangles. Those are
equally accessible via capitalized variables, like ``CARETDOWNBASE``.
Hence the following are equivalent::

    plt.plot([1, 2, 3], marker=11)
    plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)

Markers join and cap styles can be customized by creating a new instance of
MarkerStyle.
A MarkerStyle can also have a custom `~matplotlib.transforms.Transform`
allowing it to be arbitrarily rotated or offset.

Examples showing the use of markers:

* :doc:`/gallery/lines_bars_and_markers/marker_reference`
* :doc:`/gallery/lines_bars_and_markers/scatter_star_poly`
* :doc:`/gallery/lines_bars_and_markers/multivariate_marker_plot`

.. |m00| image:: /_static/markers/m00.png
.. |m01| image:: /_static/markers/m01.png
.. |m02| image:: /_static/markers/m02.png
.. |m03| image:: /_static/markers/m03.png
.. |m04| image:: /_static/markers/m04.png
.. |m05| image:: /_static/markers/m05.png
.. |m06| image:: /_static/markers/m06.png
.. |m07| image:: /_static/markers/m07.png
.. |m08| image:: /_static/markers/m08.png
.. |m09| image:: /_static/markers/m09.png
.. |m10| image:: /_static/markers/m10.png
.. |m11| image:: /_static/markers/m11.png
.. |m12| image:: /_static/markers/m12.png
.. |m13| image:: /_static/markers/m13.png
.. |m14| image:: /_static/markers/m14.png
.. |m15| image:: /_static/markers/m15.png
.. |m16| image:: /_static/markers/m16.png
.. |m17| image:: /_static/markers/m17.png
.. |m18| image:: /_static/markers/m18.png
.. |m19| image:: /_static/markers/m19.png
.. |m20| image:: /_static/markers/m20.png
.. |m21| image:: /_static/markers/m21.png
.. |m22| image:: /_static/markers/m22.png
.. |m23| image:: /_static/markers/m23.png
.. |m24| image:: /_static/markers/m24.png
.. |m25| image:: /_static/markers/m25.png
.. |m26| image:: /_static/markers/m26.png
.. |m27| image:: /_static/markers/m27.png
.. |m28| image:: /_static/markers/m28.png
.. |m29| image:: /_static/markers/m29.png
.. |m30| image:: /_static/markers/m30.png
.. |m31| image:: /_static/markers/m31.png
.. |m32| image:: /_static/markers/m32.png
.. |m33| image:: /_static/markers/m33.png
.. |m34| image:: /_static/markers/m34.png
.. |m35| image:: /_static/markers/m35.png
.. |m36| image:: /_static/markers/m36.png
.. |m37| image:: /_static/markers/m37.png
é    N)ÚHashableÚSizedé   )Ú_apiÚcbook)ÚPath)ÚIdentityTransformÚAffine2D)Ú	JoinStyleÚCapStyleé   )r   é   c                   ó´  — e Zd ZdZi dd“dd“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“i d$d%“d&d&“d'd(“d)d*“d+d,“d-d.“d/d0“d1d2“ed3“ed4“ed5“ed6“ed7“e	d8“e
d9“ed:“ed;“¥ed<ed=ed>d?d@dAd@dBd@dCd@i¥ZdDZdEZdFZ	 dždH„ZdI„ ZdJ„ ZdK„ ZdL„ ZdM„ ZdN„ ZdO„ ZdP„ ZdQ„ ZdR„ ZdS„ ZdT„ Z dU„ Z!dV„ Z"dW„ Z#dX„ Z$dGdGdYœdZ„Z%dŸd[„Z&d\„ Z'd]„ Z(d^„ Z)d_„ Z*d`„ Z+da„ Z,db„ Z-d dd„Z.de„ Z/df„ Z0 e1j2        dgdhgdidigdhdigg¦  «        Z3 e1j2        dgdhgdjdkgdldkgg¦  «        Z4 e1j2        djdkgdldkgdhdigdidigg¦  «        Z5 e1j2        dgdhgdgdigdidigg¦  «        Z6 e1j2        dgdhgdgdigdhdigg¦  «        Z7dm„ Z8dn„ Z9do„ Z:dp„ Z;dq„ Z<dr„ Z=ds„ Z>dt„ Z?du„ Z@dv„ ZAdw„ ZBdx„ ZCdy„ ZD e1dzd{gdzdcgg¦  «        ZEd|„ ZFd}„ ZG e1dzdzgdcdzgg¦  «        ZHd~„ ZId„ ZJ e1d€dzgd€dcgg¦  «        ZKd�„ ZLd‚„ ZM e1dzdzgdzd{gdzdzgdƒd„gdzdzgd…d„gge1jN        e1jO        e1jN        e1jO        e1jN        e1jO        g¦  «        ZPd†„ ZQd‡„ ZRdˆ„ ZSd‰„ ZT e1d{dŠgdzdzgdcdŠgg¦  «        ZUd‹„ ZVdŒ„ ZWd�„ ZXdŽ„ ZY e1d{dzgdzd�gdcdggg¦  «        ZZd�„ Z[d‘„ Z\d’„ Z]d“„ Z^ e1d{dzgdcdzgdzd{gdzdcgge1jN        e1jO        e1jN        e1jO        g¦  «        Z_d”„ Z` e1d{d{gdcdcgd{dcgdcd{gge1jN        e1jO        e1jN        e1jO        g¦  «        Zad•„ Zb e1j2         ecjd        g d–¢¦  «        d—z  ¦  «        Ze e1j2         ecjd        g d˜¢¦  «        d—z  ¦  «        Zfd™„ Zg e1j2         ecjd        g dš¢¦  «        d›z  ¦  «        Zh e1j2         ecjd        g dœ¢¦  «        d›z  ¦  «        Zid�„ ZjdGS )¡ÚMarkerStyleag  
    A class representing marker types.

    Instances are immutable. If you need to change anything, create a new
    instance.

    Attributes
    ----------
    markers : dict
        All known markers.
    filled_markers : tuple
        All known filled markers. This is a subset of *markers*.
    fillstyles : tuple
        The supported fillstyles.
    ú.Úpointú,ÚpixelÚoÚcircleÚvÚtriangle_downú^Útriangle_upú<Útriangle_leftú>Útriangle_rightÚ1Útri_downÚ2Útri_upÚ3Útri_leftÚ4Ú	tri_rightÚ8ÚoctagonÚsÚsquareÚpÚpentagonÚ*ÚstarÚhÚhexagon1ÚHÚhexagon2ú+ÚplusÚxÚDÚdiamondÚdÚthin_diamondú|ÚvlineÚ_ÚhlineÚPÚplus_filledÚXÚx_filledÚtickleftÚ	tickrightÚtickupÚtickdownÚ	caretleftÚ
caretrightÚcaretupÚ	caretdownÚcaretleftbaseÚcaretrightbaseÚcaretupbaseÚcaretdownbaseÚNoneÚnothingÚnoneú Ú )r   r   r   r   r   r   r'   r)   r+   r-   r/   r1   r6   r8   r>   r@   )ÚfullÚleftÚrightÚbottomÚtoprP   )rT   rU   rV   rW   Nc                 óÖ   — d| _         || _        |�t          |¦  «        nd| _        |�t	          |¦  «        nd| _        |                      |¦  «         |                      |¦  «         dS )a]  
        Parameters
        ----------
        marker : str, array-like, Path, MarkerStyle
            - Another instance of `MarkerStyle` copies the details of that *marker*.
            - For other possible marker values, see the module docstring
              `matplotlib.markers`.

        fillstyle : str, default: :rc:`markers.fillstyle`
            One of 'full', 'left', 'right', 'bottom', 'top', 'none'.

        transform : `~matplotlib.transforms.Transform`, optional
            Transform that will be combined with the native transform of the
            marker.

        capstyle : `.CapStyle` or %(CapStyle)s, optional
            Cap style that will override the default cap style of the marker.

        joinstyle : `.JoinStyle` or %(JoinStyle)s, optional
            Join style that will override the default join style of the marker.
        N)Ú_marker_functionÚ_user_transformr   Ú_user_capstyler   Ú_user_joinstyleÚ_set_fillstyleÚ_set_marker)ÚselfÚmarkerÚ	fillstyleÚ	transformÚcapstyleÚ	joinstyles         ú@C:\Projects\DSCons\.venv\Lib\site-packages\matplotlib\markers.pyÚ__init__zMarkerStyle.__init__Ü   sw   € ð. !%ˆÔØ(ˆÔØ4<Ð4H�h xÑ0Ô0Ð0ÈdˆÔØ7@Ð7L�y¨Ñ3Ô3Ð3ÐRVˆÔØ×Ò˜IÑ&Ô&Ð&Ø×Ò˜Ñ Ô Ð Ð Ð ó    c                 ó  — | j         €d S t          | _        t          ¦   «         | _        d | _        d | _        d | _        t          j	        | _
        | j        pt          j        | _        | j        dk    | _        |                       ¦   «          d S )NrP   )rY   Ú_empty_pathÚ_pathr	   Ú
_transformÚ	_alt_pathÚ_alt_transformÚ_snap_thresholdr   ÚroundÚ
_joinstyler[   r   ÚbuttÚ	_capstyleÚ
_fillstyleÚ_filled©r_   s    re   Ú_recachezMarkerStyle._recacheú   s}   € ØÔ Ð(ØˆFÝ ˆŒ
Ý+Ñ-Ô-ˆŒØˆŒØ"ˆÔØ#ˆÔÝ#œ/ˆŒØÔ,Ð=µ´ˆŒð ”¨&Ò0ˆŒØ×ÒÑÔÐÐÐrg   c                 óN   — t          t          | j        j        ¦  «        ¦  «        S ©N)ÚboolÚlenrj   Úverticesru   s    re   Ú__bool__zMarkerStyle.__bool__
  s   € Ý•C˜œ
Ô+Ñ,Ô,Ñ-Ô-Ð-rg   c                 ó   — | j         S rx   ©rt   ru   s    re   Ú	is_filledzMarkerStyle.is_filled  ó
   € ØŒ|Ðrg   c                 ó   — | j         S rx   )rs   ru   s    re   Úget_fillstylezMarkerStyle.get_fillstyle  s
   € ØŒÐrg   c                 ót   — t          j        |d¦  «        }t          j        | j        |¬¦  «         || _        dS )zï
        Set the fillstyle.

        Parameters
        ----------
        fillstyle : {'full', 'left', 'right', 'bottom', 'top', 'none'}
            The part of the marker surface that is colored with
            markerfacecolor.
        zmarkers.fillstyle)ra   N)ÚmplÚ
_val_or_rcr   Úcheck_in_listÚ
fillstylesrs   )r_   ra   s     re   r]   zMarkerStyle._set_fillstyle  s9   € õ ”N 9Ð.AÑBÔBˆ	ÝÔ˜4œ?°iÐ@Ñ@Ô@Ð@Ø#ˆŒˆˆrg   c                 ó   — | j         j        S rx   )rp   Únameru   s    re   Úget_joinstylezMarkerStyle.get_joinstyle!  s   € ØŒÔ#Ð#rg   c                 ó   — | j         j        S rx   )rr   r‰   ru   s    re   Úget_capstylezMarkerStyle.get_capstyle$  s   € ØŒ~Ô"Ð"rg   c                 ó   — | j         S rx   )Ú_markerru   s    re   Ú
get_markerzMarkerStyle.get_marker'  r€   rg   c                 óŽ  — t          |t          ¦  «        r"t          j        |¦  «        r| j        | _        �n[t          |t          ¦  «        r.|| j        v r%t          | d| j        |         z   ¦  «        | _        �nt          |t          j
        ¦  «        r)|j        dk    r|j        d         dk    r| j        | _        nÕt          |t          ¦  «        r| j        | _        n³t          |t           ¦  «        r(t#          |¦  «        dv r|d         dv r| j        | _        nvt          |t&          ¦  «        rt)          j        |j        ¦  «        | _        nB	 t          |¦  «         | j        | _        n%# t.          $ r}t/          d|›�¦  «        |‚d}~ww xY wt          |t&          ¦  «        s|| _        |                      ¦   «          dS dS )a=  
        Set the marker.

        Parameters
        ----------
        marker : str, array-like, Path, MarkerStyle
            - Another instance of `MarkerStyle` copies the details of that *marker*.
            - For other possible marker values see the module docstring
              `matplotlib.markers`.
        Ú_set_r   r   )r   é   )r   r   r   zUnrecognized marker style N)Ú
isinstanceÚstrr   Úis_math_textÚ_set_mathtext_pathrY   r   ÚmarkersÚgetattrÚnpÚndarrayÚndimÚshapeÚ_set_verticesr   Ú_set_path_markerr   rz   Ú_set_tuple_markerr   ÚcopyÚdeepcopyÚ__dict__Ú
ValueErrorrŽ   rv   )r_   r`   Úerrs      re   r^   zMarkerStyle._set_marker*  sÚ  € õ �f�cÑ"Ô"ð 	F¥uÔ'9¸&Ñ'AÔ'Að 	FØ$(Ô$;ˆDÔ!Ñ!Ý˜¥Ñ)Ô)ð 	F¨f¸¼Ð.DÐ.DÝ$+¨D°'¸D¼LÈÔ<PÑ2PÑ$QÔ$QˆDÔ!Ñ!Ý˜¥¤Ñ,Ô,ð 	F°´ÀÒ1AÐ1AØ”˜Q” 1Ò$Ð$Ø$(Ô$6ˆDÔ!Ð!Ý˜¥Ñ%Ô%ð 	FØ$(Ô$9ˆDÔ!Ð!Ý˜¥Ñ'Ô'ð 	F­C°©K¬K¸6Ð,AÐ,AØ�q”	˜YÐ&Ð&Ø$(Ô$:ˆDÔ!Ð!Ý˜¥Ñ,Ô,ð 	FÝ œM¨&¬/Ñ:Ô:ˆDŒMˆMðFÝ�V‘”�Ø(,Ô(:�Ô%Ð%øÝð Fð Fð FÝ Ø;°Ð;Ð;ñ=ô =ØBEðFøøøøðFøøøõ ˜&¥+Ñ.Ô.ð 	Ø!ˆDŒLØ�MŠM‰OŒOˆOˆOˆOð	ð 	s   ÅE. Å.
FÅ8FÆFc                 ó   — | j         S )zÏ
        Return a `.Path` for the primary part of the marker.

        For unfilled markers this is the whole marker, for filled markers,
        this is the area to be drawn with *markerfacecolor*.
        )rj   ru   s    re   Úget_pathzMarkerStyle.get_pathO  s   € ð ŒzÐrg   c                 ó„   — | j         €| j                             ¦   «         S | j        | j         z                        ¦   «         S )zj
        Return the transform to be applied to the `.Path` from
        `MarkerStyle.get_path()`.
        )rZ   rk   Úfrozenru   s    re   Úget_transformzMarkerStyle.get_transformX  s=   € ð
 ÔÐ'Ø”?×)Ò)Ñ+Ô+Ð+à”O dÔ&:Ñ:×BÒBÑDÔDÐDrg   c                 ó   — | j         S )zË
        Return a `.Path` for the alternate part of the marker.

        For unfilled markers, this is *None*; for filled markers, this is the
        area to be drawn with *markerfacecoloralt*.
        )rl   ru   s    re   Úget_alt_pathzMarkerStyle.get_alt_pathb  s   € ð Œ~Ðrg   c                 ó„   — | j         €| j                             ¦   «         S | j        | j         z                        ¦   «         S )zn
        Return the transform to be applied to the `.Path` from
        `MarkerStyle.get_alt_path()`.
        )rZ   rm   r¨   ru   s    re   Úget_alt_transformzMarkerStyle.get_alt_transformk  s?   € ð
 ÔÐ'ØÔ&×-Ò-Ñ/Ô/Ð/àÔ'¨$Ô*>Ñ>×FÒFÑHÔHÐHrg   c                 ó   — | j         S rx   )rn   ru   s    re   Úget_snap_thresholdzMarkerStyle.get_snap_thresholdu  s   € ØÔ#Ð#rg   c                 óF   — | j         �| j                              ¦   «         S dS )z.Return user supplied part of marker transform.N)rZ   r¨   ru   s    re   Úget_user_transformzMarkerStyle.get_user_transformx  s(   € àÔÐ+ØÔ'×.Ò.Ñ0Ô0Ð0ð ,Ð+rg   c                 ób   — t          | ¦  «        }|j        �|xj        |z  c_        n||_        |S )zû
        Return a new version of this marker with the transform applied.

        Parameters
        ----------
        transform : `~matplotlib.transforms.Affine2D`
            Transform will be combined with current user supplied transform.
        )r   rZ   )r_   rb   Ú
new_markers      re   ÚtransformedzMarkerStyle.transformed}  s?   € õ ! Ñ&Ô&ˆ
ØÔ%Ð1ØÐ&Ô&¨)Ñ3Ð&Ô&Ð&à)2ˆJÔ&ØÐrg   )ÚdegÚradc                ó  — |€|€t          d¦  «        ‚|�|�t          d¦  «        ‚t          | ¦  «        }|j        €t          ¦   «         |_        |�|j                             |¦  «         |�|j                             |¦  «         |S )aB  
        Return a new version of this marker rotated by specified angle.

        Parameters
        ----------
        deg : float, optional
            Rotation angle in degrees.

        rad : float, optional
            Rotation angle in radians.

        .. note:: You must specify exactly one of deg or rad.
        NzOne of deg or rad is requiredz'Only one of deg and rad can be supplied)r£   r   rZ   r
   Ú
rotate_degÚrotate)r_   rµ   r¶   r³   s       re   ÚrotatedzMarkerStyle.rotated�  s”   € ð ˆ;˜3˜;ÝÐ<Ñ=Ô=Ð=Øˆ?˜s˜ÝÐFÑGÔGÐGÝ  Ñ&Ô&ˆ
ØÔ%Ð-Ý)1©¬ˆJÔ&àˆ?ØÔ&×1Ò1°#Ñ6Ô6Ð6Øˆ?ØÔ&×-Ò-¨cÑ2Ô2Ð2àÐrg   c                 óŒ   — |€|}t          | ¦  «        }|j        pt          ¦   «         }|                     ||¦  «        |_        |S )aW  
        Return new marker scaled by specified scale factors.

        If *sy* is not given, the same scale is applied in both the *x*- and
        *y*-directions.

        Parameters
        ----------
        sx : float
            *X*-direction scaling factor.
        sy : float, optional
            *Y*-direction scaling factor.
        )r   rZ   r
   Úscale)r_   ÚsxÚsyr³   rk   s        re   ÚscaledzMarkerStyle.scaledª  sJ   € ð ˆ:ØˆBå  Ñ&Ô&ˆ
ØÔ/Ð=µ8±:´:ˆ
Ø%/×%5Ò%5°b¸"Ñ%=Ô%=ˆ
Ô"ØÐrg   c                 ó   — d| _         d S )NFr~   ru   s    re   Ú_set_nothingzMarkerStyle._set_nothingÀ  s   € ØˆŒˆˆrg   c                 ó¼   — t          j        t          j        |j        ¦  «        ¦  «        }t	          ¦   «                              d|z  ¦  «        | _        || _        d S )Nç      à?)r™   ÚmaxÚabsr{   r
   r¼   rk   rj   )r_   ÚpathÚrescales      re   Ú_set_custom_markerzMarkerStyle._set_custom_markerÃ  sE   € Ý”&�œ ¤Ñ.Ô.Ñ/Ô/ˆÝ"™*œ*×*Ò*¨3°©=Ñ9Ô9ˆŒØˆŒ
ˆ
ˆ
rg   c                 ó:   — |                       | j        ¦  «         d S rx   )rÈ   rŽ   ru   s    re   rž   zMarkerStyle._set_path_markerÈ  s   € Ø×Ò ¤Ñ-Ô-Ð-Ð-Ð-rg   c                 óT   — |                       t          | j        ¦  «        ¦  «         d S rx   )rÈ   r   rŽ   ru   s    re   r�   zMarkerStyle._set_verticesË  s&   € Ø×Ò¥ T¤\Ñ 2Ô 2Ñ3Ô3Ð3Ð3Ð3rg   c                 óš  — | j         }t          |¦  «        dk    r|d         d}}n#t          |¦  «        dk    r|d         |d         }}|d         }|dk    r2t          j        |¦  «        | _        | j        pt          j        | _        n‰|dk    r2t          j	        |¦  «        | _        | j        pt          j
        | _        nQ|dk    r9t          j        |¦  «        | _        d| _        | j        pt          j
        | _        nt          d|› �¦  «        ‚t          ¦   «                              d¦  «                             |¦  «        | _        d S )	Nr   r   ç        r’   r   FzUnexpected tuple marker: rÃ   )rŽ   rz   r   Úunit_regular_polygonrj   r\   r   Úmiterrp   Úunit_regular_starÚbevelÚunit_regular_asteriskrt   r£   r
   r¼   r¸   rk   )r_   r`   ÚnumsidesÚrotationÚsymstyles        re   rŸ   zMarkerStyle._set_tuple_markerÎ  s'  € Ø”ˆÝˆv‰;Œ;˜!ÒÐØ!'¨¤¨C�hˆHˆHÝ�‰[Œ[˜AÒÐØ!'¨¤¨F°1¬I�hˆHØ˜!”9ˆØ�qŠ=ˆ=ÝÔ2°8Ñ<Ô<ˆDŒJØ"Ô2ÐEµi´oˆDŒOˆOØ˜Š]ˆ]ÝÔ/°Ñ9Ô9ˆDŒJØ"Ô2ÐEµi´oˆDŒOˆOØ˜Š]ˆ]ÝÔ3°HÑ=Ô=ˆDŒJØ ˆDŒLØ"Ô2ÐEµi´oˆDŒOˆOåÐA¸ÐAÐAÑBÔBÐBÝ"™*œ*×*Ò*¨3Ñ/Ô/×:Ò:¸8ÑDÔDˆŒˆˆrg   c                 óà  — ddl m}  |d|                      ¦   «         t          j        d         ¬¦  «        }t          |j        ¦  «        dk    rdS |                     ¦   «         }t          |j	        |j
        ¦  «        }t          ¦   «                              |j         d|j	         z  z   |j         d|j
         z  z   ¦  «                             d|z  ¦  «        | _        || _        d	| _        dS )
zc
        Draw mathtext markers '$...$' using `.TextPath` object.

        Submitted by tcb
        r   )ÚTextPath)r   r   ztext.usetex)Úxyr)   ÚusetexNrÃ   ç      ð?F)Úmatplotlib.textrÖ   r�   r„   ÚrcParamsrz   r{   Úget_extentsrÄ   ÚwidthÚheightr
   Ú	translateÚxminÚyminr¼   rk   rj   Ú_snap)r_   rÖ   ÚtextÚbboxÚmax_dims        re   r–   zMarkerStyle._set_mathtext_pathã  sê   € ð 	-Ð,Ð,Ð,Ð,Ð,ð ˆx˜6 T§_¢_Ñ%6Ô%6Ý"œ|¨MÔ:ð<ñ <ô <ˆåˆtŒ}ÑÔ Ò"Ð"ØˆFà×ÒÑ!Ô!ˆÝ�d”j $¤+Ñ.Ô.ˆå‰JŒJßŠY˜œ	�z C¨4¬:¨+Ñ$5Ñ5¸¼	°zÀCÈ4Ì;È,ÑDVÑ7VÑWÔWßŠU�3˜‘=Ñ!Ô!ð 	Œð ˆŒ
ØˆŒ
ˆ
ˆ
rg   c                 ó8   — |                       ¦   «         | j        v S rx   )r‚   Ú_half_fillstylesru   s    re   Ú
_half_fillzMarkerStyle._half_fillû  s   € Ø×!Ò!Ñ#Ô# tÔ'<Ð<Ð<rg   rÙ   c                 óè  — t          ¦   «                              d|z  ¦  «        | _        t          j        | _        |                      ¦   «         st          j        ¦   «         | _	        d S t          j
        ¦   «         x| _	        | _        |                      ¦   «         }| j                             dddddœ|         ¦  «         | j                             ¦   «                              d¦  «        | _        d S )NrÃ   r   éZ   é´   é  ©rU   rW   rT   rV   ç     €f@)r
   r¼   rk   r™   Úinfrn   rè   r   Úunit_circlerj   Úunit_circle_righthalfrl   r‚   r¸   r¨   rm   )r_   ÚsizeÚfss      re   Ú_set_circlezMarkerStyle._set_circleþ  sÓ   € Ý"™*œ*×*Ò*¨3°©:Ñ6Ô6ˆŒÝ!œvˆÔØ�ŠÑ Ô ð 	LÝÔ)Ñ+Ô+ˆDŒJˆJˆJå*.Ô*DÑ*FÔ*FÐFˆDŒJ˜œØ×#Ò#Ñ%Ô%ˆBØŒO×&Ò&Ø B°¸sÐCÐCÀBÔGñIô Ið Ià"&¤/×"8Ò"8Ñ":Ô":×"EÒ"EÀdÑ"KÔ"KˆDÔÐÐrg   c                 ó2   — |                       d¬¦  «         d S )NrÃ   )rò   )rô   ru   s    re   Ú
_set_pointzMarkerStyle._set_point
  s   € Ø×Ò˜cÐÑ"Ô"Ð"Ð"Ð"rg   c                 ó’   — t          j        ¦   «         | _        t          ¦   «                              dd¦  «        | _        d | _        d S )Ng9î”Öÿß¿)r   Úunit_rectanglerj   r
   rß   rk   rn   ru   s    re   Ú
_set_pixelzMarkerStyle._set_pixel  s=   € ÝÔ(Ñ*Ô*ˆŒ
õ #™*œ*×.Ò.¨x¸ÑBÔBˆŒØ#ˆÔÐÐrg   r   r   éÿÿÿÿg333333ã¿gš™™™™™É¿ç333333ã?c                 óÆ  — t          ¦   «                              d¦  «                             |¦  «        | _        d| _        |                      ¦   «         s| j        | _        nç| j        | j	        | j
        | j        g}|                      ¦   «         }|dk    r'|d|z   dz           | _        |d|z   dz           | _        n€|dk    r'|d|z   dz           | _        |d|z   dz           | _        nS|dk    r'|d	|z   dz           | _        |d
|z   dz           | _        n&|d
|z   dz           | _        |d	|z   dz           | _        | j        | _        | j        pt           j        | _        d S )NrÃ   ç      @rW   r   é   r   rV   rT   r   r’   )r
   r¼   r¸   rk   rn   rè   Ú_triangle_pathrj   Ú_triangle_path_uÚ_triangle_path_lÚ_triangle_path_dÚ_triangle_path_rr‚   rl   rm   r\   r   rÎ   rp   )r_   ÚrotÚskipÚmpathsró   s        re   Ú_set_trianglezMarkerStyle._set_triangle#  sa  € Ý"™*œ*×*Ò*¨3Ñ/Ô/×:Ò:¸3Ñ?Ô?ˆŒØ"ˆÔà�ŠÑ Ô ð 	2ØÔ,ˆDŒJˆJàÔ+ØÔ+ØÔ+ØÔ+ð-ˆFð
 ×#Ò#Ñ%Ô%ˆBØ�UŠ{ˆ{Ø# Q¨¡X°¡NÔ3�”
Ø!'¨¨T©°Q©Ô!7�”�Ø�x’�Ø# Q¨¡X°¡NÔ3�”
Ø!'¨¨T©°Q©Ô!7�”�Ø�v’�Ø# Q¨¡X°¡NÔ3�”
Ø!'¨¨T©°Q©Ô!7�”�à# Q¨¡X°¡NÔ3�”
Ø!'¨¨T©°Q©Ô!7�”à"&¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c                 ó.   — |                       dd¦  «        S )NrÌ   r   ©r  ru   s    re   Ú_set_triangle_upzMarkerStyle._set_triangle_upA  s   € Ø×!Ò! # qÑ)Ô)Ð)rg   c                 ó.   — |                       dd¦  «        S )Nrî   r   r	  ru   s    re   Ú_set_triangle_downzMarkerStyle._set_triangle_downD  ó   € Ø×!Ò! %¨Ñ+Ô+Ð+rg   c                 ó.   — |                       dd¦  «        S )Ng     €V@r’   r	  ru   s    re   Ú_set_triangle_leftzMarkerStyle._set_triangle_leftG  s   € Ø×!Ò! $¨Ñ*Ô*Ð*rg   c                 ó.   — |                       dd¦  «        S )Ng     àp@r   r	  ru   s    re   Ú_set_triangle_rightzMarkerStyle._set_triangle_rightJ  r  rg   c                 ó  — t          ¦   «                              dd¦  «        | _        d| _        |                      ¦   «         st          j        ¦   «         | _        n�t          ddgddgddgddgddgg¦  «        | _        t          ddgddgddgddgddgg¦  «        | _        |  	                    ¦   «         }dddd	d
œ|         }| j         
                    |¦  «         | j        | _        | j        pt          j        | _        d S )Nç      à¿ç       @rÌ   rÙ   rÃ   r   rê   rë   rì   )rV   rU   rW   rT   )r
   rß   rk   rn   rè   r   rø   rj   rl   r‚   r¸   rm   r\   r   rÎ   rp   ©r_   ró   r¹   s      re   Ú_set_squarezMarkerStyle._set_squareM  s  € Ý"™*œ*×.Ò.¨t°TÑ:Ô:ˆŒØ"ˆÔØ�ŠÑ Ô ð 	2ÝÔ,Ñ.Ô.ˆDŒJˆJõ   S˜z¨C°¨:¸¸S°zØ # S˜z¨C°¨:ð7ñ 8ô 8ˆDŒJå! C¨ :°°S¨z¸CÀ¸:Ø$'¨ :°°S¨zð#;ñ <ô <ˆDŒNà×#Ò#Ñ%Ô%ˆBØ !¨B°sÀCÐHÐHÈÔLˆFØŒO×&Ò& vÑ.Ô.Ð.Ø"&¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c                 ó   — t          ¦   «                              dd¦  «                             d¦  «        | _        d| _        |                      ¦   «         st          j        ¦   «         | _        n‡t          ddgddgddgddgg¦  «        | _        t          ddgddgddgddgg¦  «        | _	        |  
                    ¦   «         }ddddd	œ|         }| j                             |¦  «         | j        | _        | j        pt          j        | _        d S )
Nr  é-   rý   r   r   rê   rë   rì   rí   )r
   rß   r¸   rk   rn   rè   r   rø   rj   rl   r‚   rm   r\   r   rÎ   rp   r  s      re   Ú_set_diamondzMarkerStyle._set_diamond_  s  € Ý"™*œ*×.Ò.¨t°TÑ:Ô:×EÒEÀbÑIÔIˆŒØ"ˆÔØ�ŠÑ Ô ð 	2ÝÔ,Ñ.Ô.ˆDŒJˆJå  1˜v¨¨1 v°°1¨v¸¸1°vÐ>Ñ?Ô?ˆDŒJÝ! A q 6¨A¨q¨6°A°q°6¸A¸q¸6Ð"BÑCÔCˆDŒNØ×#Ò#Ñ%Ô%ˆBØ ¨°SÀCÐHÐHÈÔLˆFØŒO×&Ò& vÑ.Ô.Ð.Ø"&¤/ˆDÔØÔ.ÐAµ)´/ˆŒˆˆrg   c                 ód   — |                       ¦   «          | j                             dd¦  «         d S )Nrû   rÙ   )r  rk   r¼   ru   s    re   Ú_set_thin_diamondzMarkerStyle._set_thin_diamondm  s2   € Ø×ÒÑÔÐØŒ×Ò˜c 3Ñ'Ô'Ð'Ð'Ð'rg   c                 óÊ  — t          ¦   «                              d¦  «        | _        d| _        t	          j        d¦  «        }|                      ¦   «         s|| _        ní|j        }dt          j
        d¦  «        z   dz  }t	          |g d¢         ¦  «        }t	          |g d¢         ¦  «        }t	          |d         |d         |d	         d| g|d         g¦  «        }t	          |d         |d
         |d         d| g|d         g¦  «        }||f||f||f||fdœ|                      ¦   «                  \  | _        | _        | j        | _        | j        pt          j        | _        d S )NrÃ   rý   é   r   ç      @)r   r   rþ   r   )r   r   r’   rþ   r   r   r   rþ   r’   ©rW   rV   rT   rU   )r
   r¼   rk   rn   r   rÍ   rè   rj   r{   r™   Úsqrtr‚   rl   rm   r\   r   rÎ   rp   )r_   ÚpolypathÚvertsÚyrW   rV   rT   rU   s           re   Ú_set_pentagonzMarkerStyle._set_pentagonq  sZ  € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔåÔ,¨QÑ/Ô/ˆà�ŠÑ Ô ð 	2Ø!ˆDŒJˆJàÔ%ˆEØ•R”W˜Q‘Z”Z‘ 2Ñ%ˆAÝ�u˜\˜\˜\Ô*Ñ+Ô+ˆCÝ˜%   Ô0Ñ1Ô1ˆFÝ˜˜qœ 5¨¤8¨U°1¬X¸¸A¸2°wÀÀaÄÐIÑJÔJˆDÝ˜% œ( E¨!¤H¨e°A¬h¸¸Q¸B¸ÀÀqÄÐJÑKÔKˆEà˜V�}°¸°Ø˜u˜°¸°ð*ð *ð × Ò Ñ"Ô"ô*$Ñ&ˆDŒJ˜œð #'¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c           	      ó@  — t          ¦   «                              d¦  «        | _        d| _        t	          j        dd¬¦  «        }|                      ¦   «         s	|| _        �n%|j        }t	          t          j
        |dd…         |dd	…         |dd
…         g¦  «        ¦  «        }t	          t          j
        |dd…         |dd…         g¦  «        ¦  «        }t	          t          j
        |dd…         |dd
…         g¦  «        ¦  «        }t	          t          j
        |dd
…         |dd	…         |dd
…         g¦  «        ¦  «        }||f||f||f||fdœ|                      ¦   «                  \  | _        | _        | j        | _        | j        pt          j        | _        d S )NrÃ   rý   r  gœÅ‹…!rØ?)ÚinnerCircler   rþ   é   é
   r   r’   é   é   r  )r
   r¼   rk   rn   r   rÏ   rè   rj   r{   r™   Úconcatenater‚   rl   rm   r\   r   rÐ   rp   )r_   r!  r"  rW   rV   rT   rU   s          re   Ú	_set_starzMarkerStyle._set_starˆ  s…  € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔåÔ)¨!¸ÐBÑBÔBˆà�ŠÑ Ô ð 	2Ø!ˆDŒJ‰JàÔ%ˆEÝ•r”~ u¨Q¨q¨S¤z°5¸¸2¸´;ÀÀaÈÀcÄ
Ð&KÑLÔLÑMÔMˆCÝ�"œ.¨%°°!°¬*°e¸A¸a¸C´jÐ)AÑBÔBÑCÔCˆFÝ�œ¨¨a°¨c¬
°E¸!¸A¸#´JÐ'?Ñ@Ô@ÑAÔAˆDÝ�œ¨¨q°¨s¬°U¸1¸R¸4´[À%ÈÈ!ÈÄ*Ð(MÑNÔNÑOÔOˆEà˜V�}°¸°Ø˜u˜°¸°ð*ð *ð × Ò Ñ"Ô"ô*$Ñ&ˆDŒJ˜œð #'¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c                 ó  — t          ¦   «                              d¦  «        | _        d | _        t	          j        d¦  «        }|                      ¦   «         s	|| _        �n|j        }t          j
        t          j        dt          j        z  dz  ¦  «        ¦  «        }t	          t          j        | dfg|g d¢         |dfgg¦  «        ¦  «        }t	          t          j        | dfg|dd…         |dfgg¦  «        ¦  «        }t	          |dd…         ¦  «        }t	          |g d	¢         ¦  «        }||f||f||f||fd
œ|                      ¦   «                  \  | _        | _        | j        | _        | j        pt$          j        | _        d S )NrÃ   r*  r  g      @r   )r   r   r  r   rþ   )r   r  rþ   r’   r  )r
   r¼   rk   rn   r   rÍ   rè   rj   r{   r™   rÅ   ÚcosÚpir+  r‚   rl   rm   r\   r   rÎ   rp   )r_   r!  r"  r5   rW   rV   rT   rU   s           re   Ú_set_hexagon1zMarkerStyle._set_hexagon1ž  ss  € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ#ˆÔåÔ,¨QÑ/Ô/ˆà�ŠÑ Ô ð 	2Ø!ˆDŒJ‰JàÔ%ˆEå”•r”v˜a¥"¤%™i¨"™nÑ-Ô-Ñ.Ô.ˆAÝ•r”~¨!¨¨Q¨ y°%¸	¸	¸	Ô2BÀaÈÀVÀHÐ&MÑNÔNÑOÔOˆCÝ�"œ.¨Q¨B°¨7¨)°U¸1¸Q¸3´ZÀ1ÀaÀ&ÀÐ)JÑKÔKÑLÔLˆFÝ˜˜a ˜cœ
Ñ#Ô#ˆDÝ˜˜|˜|˜|Ô,Ñ-Ô-ˆEà˜V�}°¸°Ø˜u˜°¸°ð*ð *ð × Ò Ñ"Ô"ô*$Ñ&ˆDŒJ˜œð #'¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c           	      ó
  — t          ¦   «                              d¦  «                             d¦  «        | _        d | _        t          j        d¦  «        }|                      ¦   «         s|| _        nú|j	        }t          j        d¦  «        dz  d}}t          |g d¢         ¦  «        }t          |dd	…         ¦  «        }t          t          j        ||fg|d d…         | | f||fgg¦  «        ¦  «        }t          t          j        ||fg|d	d
d…         | | fgg¦  «        ¦  «        }||f||f||f||fdœ|                      ¦   «                  \  | _        | _        | j        | _        | j        pt"          j        | _        d S )NrÃ   é   r*  r’   rþ   g      è?)r   r   r  rþ   r   r   r  r   rú   r  )r
   r¼   r¸   rk   rn   r   rÍ   rè   rj   r{   r™   r   r+  r‚   rl   rm   r\   r   rÎ   rp   )	r_   r!  r"  r5   r#  rW   rV   rT   rU   s	            re   Ú_set_hexagon2zMarkerStyle._set_hexagon2¶  s—  € Ý"™*œ*×*Ò*¨3Ñ/Ô/×:Ò:¸2Ñ>Ô>ˆŒØ#ˆÔåÔ,¨QÑ/Ô/ˆà�ŠÑ Ô ð 	2Ø!ˆDŒJˆJàÔ%ˆEå”7˜1‘:”: ‘> 6ˆqˆAÝ�u˜_˜_˜_Ô-Ñ.Ô.ˆCÝ˜%  ! œ*Ñ%Ô%ˆFÝ�œØ�Q��˜%   œ)¨ r¨A¨2 h°°A°Ð%7ð(9ñ :ô :ñ ;ô ;ˆDå�œØ�Q��˜%  ! B œ-¨A¨2°¨r¨(¨ð)5ñ 6ô 6ñ 7ô 7ˆEð ˜V�}°¸°Ø˜u˜°¸°ð*ð *ð × Ò Ñ"Ô"ô*$Ñ&ˆDŒJ˜œð #'¤/ˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   c           
      óŒ  — t          ¦   «                              d¦  «        | _        d| _        t	          j        d¦  «        }|                      ¦   «         s"| j                             d¦  «         || _        n´t          j
        d¦  «        dz  }t	          ddgdd	g| d	gd|gd| g| dgddgg¦  «        x| _        | _        |                      ¦   «         }| j                             dd
dddœ|         ¦  «         | j                             ¦   «                              d¦  «        | _        | j        pt           j        | _        d S )NrÃ   rý   r)  g     €6@r  r  r   rú   r   rê   rë   rì   )rT   rV   rU   rW   rî   )r
   r¼   rk   rn   r   rÍ   rè   r¸   rj   r™   r   rl   r‚   r¨   rm   r\   r   rÎ   rp   )r_   r!  r5   ró   s       re   Ú_set_octagonzMarkerStyle._set_octagonÐ  sE  € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔåÔ,¨QÑ/Ô/ˆà�ŠÑ Ô ð 	MØŒO×&Ò& tÑ,Ô,Ð,Ø!ˆDŒJˆJå”˜‘”˜bÑ ˆAÝ*.Ø�R�˜1˜a˜& A 2 q '¨B°¨7Ø�q�b�˜Q˜B ˜8 a¨ Wð.ñ+/ô +/ð /ˆDŒJ˜œð ×#Ò#Ñ%Ô%ˆBØŒO×&Ò&Ø b°3¸sÐCÐCÀBÔGñIô Ið Ià"&¤/×"8Ò"8Ñ":Ô":×"EÒ"EÀeÑ"LÔ"LˆDÔàÔ.ÐAµ)´/ˆŒˆˆrg   rÌ   ç      ð¿c                 ó†   — t          ¦   «                              d¦  «        | _        d| _        d| _        | j        | _        d S ©NrÃ   rÙ   F)r
   r¼   rk   rn   rt   Ú_line_marker_pathrj   ru   s    re   Ú
_set_vlinezMarkerStyle._set_vlineç  s8   € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔØˆŒØÔ+ˆŒ
ˆ
ˆ
rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S ©Nrê   )r:  rk   r¸   ru   s    re   Ú
_set_hlinezMarkerStyle._set_hlineí  s-   € Ø�ŠÑÔÐØœ/×4Ò4°RÑ8Ô8ˆŒˆˆrg   c                 óˆ   — t          ¦   «                              dd¦  «        | _        d| _        d| _        | j        | _        d S )Nr6  rÙ   F©r
   r¼   rk   rn   rt   Ú_tickhoriz_pathrj   ru   s    re   Ú_set_tickleftzMarkerStyle._set_tickleftó  s:   € Ý"™*œ*×*Ò*¨4°Ñ5Ô5ˆŒØ"ˆÔØˆŒØÔ)ˆŒ
ˆ
ˆ
rg   c                 óˆ   — t          ¦   «                              dd¦  «        | _        d| _        d| _        | j        | _        d S ©NrÙ   Fr?  ru   s    re   Ú_set_tickrightzMarkerStyle._set_tickrightù  s:   € Ý"™*œ*×*Ò*¨3°Ñ4Ô4ˆŒØ"ˆÔØˆŒØÔ)ˆŒ
ˆ
ˆ
rg   g       €c                 óˆ   — t          ¦   «                              dd¦  «        | _        d| _        d| _        | j        | _        d S rC  ©r
   r¼   rk   rn   rt   Ú_tickvert_pathrj   ru   s    re   Ú_set_tickupzMarkerStyle._set_tickup  s:   € Ý"™*œ*×*Ò*¨3°Ñ4Ô4ˆŒØ"ˆÔØˆŒØÔ(ˆŒ
ˆ
ˆ
rg   c                 óˆ   — t          ¦   «                              dd¦  «        | _        d| _        d| _        | j        | _        d S )NrÙ   r6  FrF  ru   s    re   Ú_set_tickdownzMarkerStyle._set_tickdown  s:   € Ý"™*œ*×*Ò*¨3°Ñ5Ô5ˆŒØ"ˆÔØˆŒØÔ(ˆŒ
ˆ
ˆ
rg   gš™™™™™é?rÃ   gš™™™™™é¿c                 ó†   — t          ¦   «                              d¦  «        | _        d| _        d| _        | j        | _        d S )NrÃ   rý   F)r
   r¼   rk   rn   rt   Ú	_tri_pathrj   ru   s    re   Ú_set_tri_downzMarkerStyle._set_tri_down  s7   € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔØˆŒØ”^ˆŒ
ˆ
ˆ
rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S ©Nrë   ©rM  rk   r¸   ru   s    re   Ú_set_tri_upzMarkerStyle._set_tri_up  ó/   € Ø×ÒÑÔÐØœ/×4Ò4°SÑ9Ô9ˆŒˆˆrg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S ©Nrì   rP  ru   s    re   Ú_set_tri_leftzMarkerStyle._set_tri_left  rR  rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S r<  rP  ru   s    re   Ú_set_tri_rightzMarkerStyle._set_tri_right"  s/   € Ø×ÒÑÔÐØœ/×4Ò4°RÑ8Ô8ˆŒˆˆrg   g      ø?c                 ó¶   — t          ¦   «                              d¦  «        | _        d| _        d| _        | j        | _        | j        pt          j	        | _
        d S ©NrÃ   g      @F)r
   r¼   rk   rn   rt   Ú_caret_pathrj   r\   r   rÎ   rp   ru   s    re   Ú_set_caretdownzMarkerStyle._set_caretdown(  sI   € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔØˆŒØÔ%ˆŒ
ØÔ.ÐAµ)´/ˆŒˆˆrg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S rO  ©r[  rk   r¸   ru   s    re   Ú_set_caretupzMarkerStyle._set_caretup/  ó/   € Ø×ÒÑÔÐØœ/×4Ò4°SÑ9Ô9ˆŒˆˆrg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S rT  r]  ru   s    re   Ú_set_caretleftzMarkerStyle._set_caretleft3  r_  rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S r<  r]  ru   s    re   Ú_set_caretrightzMarkerStyle._set_caretright7  s/   € Ø×ÒÑÔÐØœ/×4Ò4°RÑ8Ô8ˆŒˆˆrg   g      ø¿c                 óF   — |                       ¦   «          | j        | _        d S rx   )r[  Ú_caret_path_baserj   ru   s    re   Ú_set_caretdownbasezMarkerStyle._set_caretdownbase=  s"   € Ø×ÒÑÔÐØÔ*ˆŒ
ˆ
ˆ
rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S rO  ©rf  rk   r¸   ru   s    re   Ú_set_caretupbasezMarkerStyle._set_caretupbaseA  ó/   € Ø×ÒÑ!Ô!Ð!Øœ/×4Ò4°SÑ9Ô9ˆŒˆˆrg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S rT  rh  ru   s    re   Ú_set_caretleftbasezMarkerStyle._set_caretleftbaseE  rj  rg   c                 ól   — |                       ¦   «          | j                             d¦  «        | _        d S r<  rh  ru   s    re   Ú_set_caretrightbasezMarkerStyle._set_caretrightbaseI  s/   € Ø×ÒÑ!Ô!Ð!Øœ/×4Ò4°RÑ8Ô8ˆŒˆˆrg   c                 ó†   — t          ¦   «                              d¦  «        | _        d| _        d| _        | j        | _        d S r8  )r
   r¼   rk   rn   rt   Ú
_plus_pathrj   ru   s    re   Ú	_set_pluszMarkerStyle._set_plusR  s7   € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔØˆŒØ”_ˆŒ
ˆ
ˆ
rg   c                 ó†   — t          ¦   «                              d¦  «        | _        d| _        d| _        | j        | _        d S rY  )r
   r¼   rk   rn   rt   Ú_x_pathrj   ru   s    re   Ú_set_xzMarkerStyle._set_x]  s7   € Ý"™*œ*×*Ò*¨3Ñ/Ô/ˆŒØ"ˆÔØˆŒØ”\ˆŒ
ˆ
ˆ
rg   ))rú   éýÿÿÿ)r   ru  )r   rú   )r’   rú   ©r’   r   ©r   r   ©r   r’   ©rú   r’   ©rú   r   ©ru  r   )ru  rú   )rú   rú   r*  ))r’   r   rv  rw  rx  ry  rz  r{  )ru  r   c                 ó¨  — t          ¦   «         | _        d| _        | j        pt          j        | _        |                      ¦   «         s| j        | _	        d S | j
        x| _	        | _        |                      ¦   «         }| j                             dddddœ|         ¦  «         | j                             ¦   «                              d¦  «        | _        d S ©Nrý   r   rê   rë   rì   )rW   rT   rV   rU   )r
   rk   rn   r\   r   rÎ   rp   rè   Ú_plus_filled_pathrj   Ú_plus_filled_path_trl   r‚   r¸   r¨   rm   ©r_   ró   s     re   Ú_set_plus_filledzMarkerStyle._set_plus_filledj  sÆ   € Ý"™*œ*ˆŒØ"ˆÔØÔ.ÐAµ)´/ˆŒØ�ŠÑ Ô ð 	KØÔ/ˆDŒJˆJˆJð +/Ô*BÐBˆDŒJ˜œØ×#Ò#Ñ%Ô%ˆBØŒO×&Ò&Ø 2°¸sÐCÐCÀBÔGñIô Ið Ià"&¤/×"8Ò"8Ñ":Ô":×"EÒ"EÀcÑ"JÔ"JˆDÔÐÐrg   ))rú   éþÿÿÿ)r   rú   )r   r‚  )r   rú   ©r   r   ©r   r   ©r   r   ©r   r   ©rú   r   ©r‚  r   ©rú   r   )r‚  rú   rþ   )rƒ  r„  r…  r†  r‡  rˆ  r‰  c                 ó¨  — t          ¦   «         | _        d| _        | j        pt          j        | _        |                      ¦   «         s| j        | _	        d S | j
        x| _	        | _        |                      ¦   «         }| j                             dddddœ|         ¦  «         | j                             ¦   «                              d¦  «        | _        d S r}  )r
   rk   rn   r\   r   rÎ   rp   rè   Ú_x_filled_pathrj   Ú_x_filled_path_trl   r‚   r¸   r¨   rm   r€  s     re   Ú_set_x_filledzMarkerStyle._set_x_filled  sÆ   € Ý"™*œ*ˆŒØ"ˆÔØÔ.ÐAµ)´/ˆŒØ�ŠÑ Ô ð 	KØÔ,ˆDŒJˆJˆJð +/Ô*?Ð?ˆDŒJ˜œØ×#Ò#Ñ%Ô%ˆBØŒO×&Ò&Ø 2°¸sÐCÐCÀBÔGñIô Ið Ià"&¤/×"8Ò"8Ñ":Ô":×"EÒ"EÀcÑ"JÔ"JˆDÔÐÐrg   )NNNNrx   )rÙ   )kÚ__name__Ú
__module__Ú__qualname__Ú__doc__ÚTICKLEFTÚ	TICKRIGHTÚTICKUPÚTICKDOWNÚ	CARETLEFTÚ
CARETRIGHTÚCARETUPÚ	CARETDOWNÚCARETLEFTBASEÚCARETRIGHTBASEÚCARETUPBASEÚCARETDOWNBASEr—   Úfilled_markersr‡   rç   rf   rv   r|   r   r‚   r]   rŠ   rŒ   r�   r^   r¦   r©   r«   r­   r¯   r±   r´   rº   r¿   rÁ   rÈ   rž   r�   rŸ   r–   rè   rô   rö   rù   r   Ú_create_closedrÿ   r   r  r  r  r  r
  r  r  r  r  r  r  r$  r,  r0  r3  r5  r9  r:  r=  r@  rA  rD  rG  rH  rJ  ÚMOVETOÚLINETOrL  rM  rQ  rU  rW  rZ  r[  r^  ra  rc  re  rf  ri  rl  rn  rp  rq  rs  rt  r™   Úarrayr~  r  r�  r‹  rŒ  r�  © rg   re   r   r   –   s�	  € € € € € ðð ð *ØˆWð*àˆWð*ð 	ˆXð*ð 	ˆ_ð	*ð
 	ˆ]ð*ð 	ˆ_ð*ð 	Ðð*ð 	ˆZð*ð 	ˆXð*ð 	ˆZð*ð 	ˆ[ð*ð 	ˆYð*ð 	ˆXð*ð 	ˆZð*ð 	ˆVð*ð  	ˆZð!*ð" 	ˆZð#*ð *ð$ 	ˆVð%*ð& 	ˆSð'*ð( 	ˆYð)*ð* 	ˆ^ð+*ð, 	ˆWð-*ð. 	ˆWð/*ð0 	ˆ]ð1*ð2 	ˆZð3*ð4 	�*ð5*ð6 	�;ð7*ð8 	�ð9*ð: 	�*ð;*ð< 	�;ð=*ð> 	�Lð?*ð@ 	�ðA*ðB 	�;ðC*ðD 	�ðE*ð *ðF 	Ð(Ø�]Ø�Ø�	Ø�	ØˆYØ
ˆIðS*ð *€Gð\€Nð D€JØ9Ðð KOð!ð !ð !ð !ð< ð  ð  ð .ð .ð .ðð ð ðð ð ð$ð $ð $ð$ð $ð $ð#ð #ð #ðð ð ð#ð #ð #ðJð ð ðEð Eð Eðð ð ðIð Ið Ið$ð $ð $ð1ð 1ð 1ð
ð ð ð  " tð ð ð ð ð ð:ð ð ð ð,ð ð ðð ð ð
.ð .ð .ð4ð 4ð 4ðEð Eð Eð*ð ð ð0=ð =ð =ð
Lð 
Lð 
Lð 
Lð#ð #ð #ð$ð $ð $ð )�TÔ(¨1¨a¨&°2°r°(¸QÀ¸GÐ)DÑEÔE€Nà*�tÔ*¨Q°¨F°T¸4°LÀ3ÈÀ+Ð+NÑOÔOÐØ*�tÔ*Ø
�ˆ˜˜T�{ Q¨ G¨b°"¨XÐ6ñ8ô 8Ðà*�tÔ*¨Q°¨F°Q¸°G¸bÀ"¸XÐ+FÑGÔGÐØ*�tÔ*¨Q°¨F°Q¸°G¸aÀ¸WÐ+EÑFÔFÐðBð Bð Bð<*ð *ð *ð,ð ,ð ,ð+ð +ð +ð,ð ,ð ,ðBð Bð Bð$Bð Bð Bð(ð (ð (ðBð Bð Bð.Bð Bð Bð,Bð Bð Bð0Bð Bð Bð4Bð Bð Bð* ˜˜s D˜k¨C°¨:Ð6Ñ7Ô7Ðð,ð ,ð ,ð9ð 9ð 9ð �d˜S #˜J¨¨c¨
Ð3Ñ4Ô4€Oð*ð *ð *ð*ð *ð *ð �T˜D #˜;¨¨s¨Ð4Ñ5Ô5€Nð)ð )ð )ð)ð )ð )ð ��s˜C�j 3¨ +Ø˜C�j 3¨ *Ø˜C�j 4¨ +ð/ð ”k 4¤;Ø”k 4¤;Ø”k 4¤;ð0ñ1ô 1€Ið$ð $ð $ð:ð :ð :ð:ð :ð :ð9ð 9ð 9ð �$˜˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=€KðBð Bð Bð:ð :ð :ð:ð :ð :ð9ð 9ð 9ð �t˜d C˜[¨3°¨+¸¸Q°xÐ@ÑAÔAÐð+ð +ð +ð:ð :ð :ð:ð :ð :ð9ð 9ð 9ð �˜˜c�{ S¨# JØ˜T�{ S¨# Jð0à”{ D¤KØ”{ D¤Kð1ñ2ô 2€Jð
%ð %ð %ð ˆd�T˜4�L 3¨ *Ø˜3�K # t ð.à”K ¤Ø”K ¤ð.ñ/ô /€Gð
"ð "ð "ð ,˜Ô+¨H¨B¬Hð 6Dð 6Dð 6Dñ -Eô -EàGHñ-Iñ Jô JÐð .˜$Ô-¨h¨b¬hð 8/ð 8/ð 8/ñ /0ô /0à23ñ/4ñ 5ô 5ÐðKð Kð Kð )�TÔ(¨¨¬ð 3Bð 3Bð 3Bñ *Cô *CàEFñ*Gñ Hô H€Nð +�tÔ*¨8¨2¬8ð 5%ð 5%ð 5%ñ ,&ô ,&à()ñ,*ñ +ô +ÐðKð Kð Kð Kð Krg   r   )$r‘  r    Úcollections.abcr   r   Únumpyr™   Ú
matplotlibr„   rR   r   r   rÆ   r   Ú
transformsr	   r
   Ú_enumsr   r   Úranger’  r“  r”  r•  r–  r—  r˜  r™  rš  r›  rœ  r�  Úemptyri   r   r£  rg   re   ú<module>r«     s5  ðð@ð @ðB €€€à +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ð
 ?D¸eÀB¹i¼iñ<€ˆ9�f˜hØ
ˆJ˜ Ø� ¨]àˆd�8�2”8˜FÑ#Ô#Ñ$Ô$€ðuKð uKð uKð uKð uKñ uKô uKð uKð uKð uKrg   