§
    OŠtjÏ!  ã                   óÒ   — 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mZmZ d dlmZ  G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)Úfont)ÚS)Ú
PlotObject)Úbillboard_matrixÚdot_productÚget_direction_vectorsÚstrided_rangeÚvec_magÚvec_sub)Úis_sequencec                   ó^   — e Zd Zdddddddddddddddœd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )ÚPlotAxesÚ Ng      Ð?çš™™™™™¹?ÚArialé   )ÚstyleÚnoneÚframeÚboxÚordinateÚstrideÚvisibleÚoverlayÚcoloredÚ
label_axesÚlabel_ticksÚtick_lengthÚ	font_faceÚ	font_sizec                ó  — |                      ¦   «         }|�d}|�d}|�d}|�d}|dv rt          | ¦  «        | _        n7|dv rt          | ¦  «        | _        n|dv rd | _        nt	          d|z  ¦  «        ‚	 t          |¦  «        }n# t          $ r Y nw xY wt          |¦  «        r*t          |¦  «        d	k    rt	          d
¦  «        ‚|| _	        n
|||g| _	        t          |¦  «        | _        g d¢| _        |                      ¦   «          d„ } ||d¦  «        | _         ||d¦  «        | _         ||	d¦  «        | _         ||
d¦  «        | _         ||d¦  «        | _        || _        || _        |                      ¦   «          d S )Nr   r   r   r   )r   r   )r   r   )r   zUnrecognized axes style %s.é   zlength should be equal to 3©r   r   r   c                 ó*   — | dv r| S | dv rdS | dv rdS |S )N)TF)ÚfÚFÚfalseÚFalseF)ÚtÚTÚtrueÚTrueT© )ÚinputÚdefaults     úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/plotting/pygletplot/plot_axes.pyÚflexible_booleanz+PlotAxes.__init__.<locals>.flexible_boolean;   s9   € Ø˜Ð%Ð%Ø�ØÐ4Ð4Ð4Ø�uØÐ2Ð2Ð2Ø�tØˆNó    TF)ÚlowerÚPlotAxesOrdinateÚ_render_objectÚPlotAxesFrameÚ
ValueErrorÚevalÚ	TypeErrorr   ÚlenÚ_strideÚfloatÚ_tick_lengthÚ_originÚreset_bounding_boxr   Ú_overlayÚ_coloredÚ_label_axesÚ_label_ticksr   r    Úreset_resources)Úselfr   r   r   r   r   r   r   r   r   r   r   r   r   r    ÚargsÚkwargsr1   s                     r0   Ú__init__zPlotAxes.__init__   sï  € ð —’‘”ˆð ÐØˆEØÐØˆEØˆ?ØˆEØÐØˆEàÐ$Ð$Ð$Ý"2°4Ñ"8Ô"8ˆDÔÐØÐ&Ð&Ð&Ý"/°Ñ"5Ô"5ˆDÔÐØ�hÐÐØ"&ˆDÔÐåÐ;ÀÑFÑGÔGÐGð	Ý˜&‘\”\ˆFˆFøÝð 	ð 	ð 	ØˆDð	øøøå�vÑÔð 	4Ý�6‰{Œ{˜aÒÐÝ Ð!>Ñ?Ô?Ð?Ø!ˆDŒLˆLà" F¨FÐ3ˆDŒLÝ! +Ñ.Ô.ˆÔð !�y�yˆŒØ×ÒÑ!Ô!Ð!ð	ð 	ð 	ð (Ð'¨°Ñ5Ô5ˆŒØ(Ð(¨°$Ñ7Ô7ˆŒØ(Ð(¨°%Ñ8Ô8ˆŒØ+Ð+¨J¸Ñ>Ô>ˆÔØ,Ð,¨[¸$Ñ?Ô?ˆÔð #ˆŒØ"ˆŒð 	×ÒÑÔÐÐÐs   Á6B Â
BÂBc                 ó   — d | _         d S ©N)Ú
label_font©rE   s    r0   rD   zPlotAxes.reset_resourcesS   s   € ØˆŒˆˆr2   c                 ó:   — d d gd d gd d gg| _         g g g g| _        d S rJ   )Ú_bounding_boxÚ_axis_ticksrL   s    r0   r?   zPlotAxes.reset_bounding_boxV   s1   € Ø# T˜l¨T°4¨L¸4À¸,ÐGˆÔØ  B˜<ˆÔÐÐr2   c                 ó*  — | j         r‹t          j        t          j        t          j        z  t          j        z  ¦  «         | j        rt          j        t          j        ¦  «         | j          	                    ¦   «          t          j
        ¦   «          d S d S rJ   )r5   ÚpglÚglPushAttribÚGL_ENABLE_BITÚGL_POLYGON_BITÚGL_DEPTH_BUFFER_BITr@   Ú	glDisableÚGL_DEPTH_TESTÚdrawÚglPopAttribrL   s    r0   rX   zPlotAxes.drawZ   s�   € ØÔð 	ÝÔ�SÔ.µÔ1CÑCÅcÔF]Ñ]Ñ^Ô^Ð^ØŒ}ð 1Ý”�cÔ/Ñ0Ô0Ð0ØÔ×$Ò$Ñ&Ô&Ð&ÝŒOÑÔÐÐÐð	ð 	r2   c                 óN  — | j         }|}t          d¦  «        D �]
}t          ||         d         ¦  «        t          j        u s't          ||         d         ¦  «        t          j        u rŒR||         d         €||         d         n(t          ||         d         ||         d         g¦  «        ||         d<   ||         d         €||         d         n(t          ||         d         ||         d         g¦  «        ||         d<   || _         |                      |¦  «         �Œd S )Nr"   r   é   )rN   ÚrangeÚabsr   ÚInfinityÚminÚmaxÚ_recalculate_axis_ticks)rE   Úchild_boundsÚbÚcÚis        r0   Úadjust_boundszPlotAxes.adjust_boundsb   s	  € ØÔˆØˆÝ�q‘”ð 	,ñ 	,ˆAÝ�1�Q”4˜”7‰|Œ|�qœzÐ)Ð)­S°°1´°a´©\¬\½Q¼ZÐ-GÐ-GØØ!" 1¤ a¤ �a˜”d˜1”g�gµc¸1¸Q¼4À¼7ÀAÀaÄDÈÄGÐ:LÑ6MÔ6MˆAˆaŒD�‰GØ!" 1¤ a¤ �a˜”d˜1”g�gµc¸1¸Q¼4À¼7ÀAÀaÄDÈÄGÐ:LÑ6MÔ6MˆAˆaŒD�‰GØ!"ˆDÔØ×(Ò(¨Ñ+Ô+Ð+Ñ+ð	,ð 	,r2   c                 óÜ   — | j         }||         d         �||         d         €g | j        |<   d S t          ||         d         ||         d         | j        |         ¦  «        | j        |<   d S )Nr   r[   )rN   rO   r	   r;   )rE   Úaxisrc   s      r0   ra   z PlotAxes._recalculate_axis_ticksm   su   € ØÔˆØˆTŒ7�1Œ:Ð  4¤¨¤Ð!3Ø%'ˆDÔ˜TÑ"Ð"Ð"å%2°1°T´7¸1´:¸qÀ¼wÀq¼zØ37´<ÀÔ3Eñ&Gô &GˆDÔ˜TÑ"Ð"Ð"r2   c                 ó    — | j          | _         d S rJ   )r   rL   s    r0   Útoggle_visiblezPlotAxes.toggle_visibleu   s   € Øœ<Ð'ˆŒˆˆr2   c                 ó    — | j          | _         d S rJ   )rA   rL   s    r0   Útoggle_colorszPlotAxes.toggle_colorsx   s   € Ø œMÐ)ˆŒˆˆr2   )Ú__name__Ú
__module__Ú__qualname__rH   rD   r?   rX   rf   ra   rj   rl   r-   r2   r0   r   r      sÂ   € € € € € ð ˜4 t°ÀØØ ¨B¸2È2ØØ¨ðDð Dð Dð Dð DðLð ð ð(ð (ð (ðð ð ð	,ð 	,ð 	,ðGð Gð Gð(ð (ð (ð*ð *ð *ð *ð *r2   r   c                   ó4   — e Zd Zd„ Zd„ Zd„ Zd„ Zd	d„Zd„ ZdS )
ÚPlotAxesBasec                 ó   — || _         d S rJ   )Ú_p)rE   Úparent_axess     r0   rH   zPlotAxesBase.__init__~   s   € ØˆŒˆˆr2   c                 ó$  — g d¢g d¢g d¢fg d¢g d¢g d¢fg| j         j                 }|                      |¦  «         |                      d|d         ¦  «         |                      d|d         ¦  «         |                      d|d         ¦  «         d S )N)gš™™™™™É?r   ç333333Ó?)çÍÌÌÌÌÌì?rv   ç      à?)rx   ç      ð?rx   )rv   rv   rw   é   r[   r   )rs   rA   Údraw_backgroundÚ	draw_axis©rE   Úcolors     r0   rX   zPlotAxesBase.draw�   s¦   € Ø!�/�/ ? ? ?°O°O°OÐDØ!�/�/ ? ? ?°O°O°OÐDðFØFJÄgÔFVôXˆà×Ò˜UÑ#Ô#Ð#Ø�Š�q˜% œ(Ñ#Ô#Ð#Ø�Š�q˜% œ(Ñ#Ô#Ð#Ø�Š�q˜% œ(Ñ#Ô#Ð#Ð#Ð#r2   c                 ó   — d S rJ   r-   r}   s     r0   r{   zPlotAxesBase.draw_background‰   ó   € Øˆr2   c                 ó   — t          ¦   «         ‚rJ   ©ÚNotImplementedError©rE   rh   r~   s      r0   r|   zPlotAxesBase.draw_axisŒ   ó   € Ý!Ñ#Ô#Ð#r2   ry   c                 ór  — t          |¦  «        dk    r|d         |d         |d         df}| j        j        €6t          j        | j        j        | j        j        dd¬¦  «        | j        _        t          j        | j        j        ||t          j        j        t          j        j	        ¬	¦  «        }t          j        ¦   «          t          j        |Ž  t          ¦   «          d
|z  }t          j        |||¦  «         t          j        dddd¦  «         |                     ¦   «          t          j        ¦   «          d S )Nr"   r   r[   rz   ry   TF)ÚboldÚitalic)r~   ÚvalignÚhaligng{®Gázt?)r:   rs   rK   r   Úloadr   r    ÚTextÚBASELINEÚCENTERrQ   ÚglPushMatrixÚglTranslatefr   ÚglScalefÚ	glColor4frX   ÚglPopMatrix)rE   ÚtextÚpositionr~   ÚscaleÚlabelÚscale_factors          r0   Ú	draw_textzPlotAxesBase.draw_text�   s  € Ýˆu‰:Œ:˜Š?ˆ?Ø˜1”X˜u Qœx¨¨q¬°3Ð7ˆEàŒ7ÔÐ%Ý!%¤¨4¬7Ô+<Ø+/¬7Ô+<Ø04¸Uð"Dñ "Dô "DˆDŒGÔõ ”	˜$œ'Ô,¨dØ %Ý!%¤Ô!3Ý!%¤Ô!1ð3ñ 3ô 3ˆõ
 	ÔÑÔÐÝÔ˜(Ð#Ð#ÝÑÔÐØ˜u‘}ˆÝŒ�\ <°Ñ>Ô>Ð>ÝŒ�a˜˜A˜qÑ!Ô!Ð!Ø�
Š
‰ŒˆÝŒÑÔÐÐÐr2   c                 óð  — | j         j        }t          j        t          j        ¦  «         t          j        |Ž  t          j        |d         d         |d         z   |d         d         |d         z   |d         d         |d         z   ¦  «         t          j        |d         d         |d         z   |d         d         |d         z   |d         d         |d         z   ¦  «         t          j        ¦   «          d S )Nr   r[   rz   )rs   r>   rQ   ÚglBeginÚGL_LINESÚ	glColor3fÚ
glVertex3fÚglEnd)rE   Úvr~   Úos       r0   Ú	draw_linezPlotAxesBase.draw_line¦   sÁ   € ØŒGŒOˆÝŒ•C”LÑ!Ô!Ð!ÝŒ�uÐÐÝŒ�q˜”t˜A”w  1¤‘~ q¨¤t¨A¤w°°1´¡~°q¸´t¸A´wÀÀ1Ä±~ÑFÔFÐFÝŒ�q˜”t˜A”w  1¤‘~ q¨¤t¨A¤w°°1´¡~°q¸´t¸A´wÀÀ1Ä±~ÑFÔFÐFÝŒ	‰Œˆˆˆr2   N)ry   )	rm   rn   ro   rH   rX   r{   r|   r™   r¢   r-   r2   r0   rq   rq   |   ss   € € € € € ðð ð ð$ð $ð $ðð ð ð$ð $ð $ðð ð ð ð.ð ð ð ð r2   rq   c                   ó<   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZ	S )r4   c                 óJ   •— t          ¦   «                              |¦  «         d S rJ   ©ÚsuperrH   ©rE   rt   Ú	__class__s     €r0   rH   zPlotAxesOrdinate.__init__±   ó!   ø€ Ý‰Œ×Ò˜Ñ%Ô%Ð%Ð%Ð%r2   c                 ó8  — | j         j        |         }| j         j        dz  }t          |¦  «        dk     rd S g d¢g d¢g}|d         |d         c|d         |<   |d         |<   t	          |d         |d         ¦  «        }t          ¦   «         d         }t          t          ||¦  «        ¦  «        }|t          |¦  «        z  }t          |dz
  ¦  «        dk    }	|D ]}
|  	                    ||||
|	¦  «         Œ|  
                    |||d         |d         |	¦  «         d S )	Ng       @rz   r#   r   éÿÿÿÿr[   ry   g{®Gáz”?)rs   rO   r=   r:   r   r   r]   r   r
   Údraw_tick_lineÚdraw_axis_line)rE   rh   r~   ÚticksÚradiusÚ
axis_linesÚaxis_vectorÚpos_zÚdÚlabels_visibleÚticks              r0   r|   zPlotAxesOrdinate.draw_axis´   s4  € Ø”Ô# DÔ)ˆØ”Ô%¨Ñ+ˆÝˆu‰:Œ:˜Š>ˆ>ØˆFð  �i�i   Ð+ˆ
Ø38¸´8¸UÀ2¼YÐ0ˆ
�1Œ�dÑ˜Z¨œ]¨4Ñ0Ý˜j¨œm¨Z¸¬]Ñ;Ô;ˆõ &Ñ'Ô'¨Ô*ˆÝ•˜K¨Ñ/Ô/Ñ0Ô0ˆØ•˜Ñ$Ô$Ñ$ˆõ ˜Q ™W™œ¨Ò,ˆð ð 	Kð 	KˆDØ×Ò  e¨V°T¸>ÑJÔJÐJÐJð 	×Ò˜D %¨¨q¬°5¸´9¸nÑMÔMÐMÐMÐMr2   c                 ó¦   — g d¢g d¢g}||c|d         |<   |d         |<   |                       ||¦  «         |r|                      |||¦  «         d S d S )Nr#   r   r[   )r¢   Údraw_axis_line_labels)rE   rh   r~   Úa_minÚa_maxr´   Ú	axis_lines          r0   r­   zPlotAxesOrdinate.draw_axis_lineÎ   sv   € Ø�Y�Y 	 	 	Ð*ˆ	Ø16¸Ð.ˆ	�!Œ�TÑ˜I aœL¨Ñ.Ø�Š�y %Ñ(Ô(Ð(Øð 	?Ø×&Ò& t¨U°IÑ>Ô>Ð>Ð>Ð>ð	?ð 	?r2   c                 óN  — | j         j        sd S |d         d d …         |d         d d …         g}|d         |xx         dz  cc<   |d         |xx         dz  cc<   g d¢|         }|                      d|z   |d         |¦  «         |                      d|z   |d         |¦  «         d S )Nr   r[   rv   )ÚXÚYÚZú-ú+)rs   rB   r™   )rE   rh   r~   rº   Úaxis_labelsÚa_strs         r0   r·   z&PlotAxesOrdinate.draw_axis_line_labelsÕ   sÈ   € ØŒwÔ"ð 	ØˆFØ  ”| B B BÔ'¨°1¬°b°b°bÔ)9Ð:ˆØ�AŒ�tÐÐÔ Ñ#ÐÐÑØ�AŒ�tÐÐÔ Ñ#ÐÐÑØ�� Ô%ˆØ�Š�s˜U‘{ K°¤N°EÑ:Ô:Ð:Ø�Š�s˜U‘{ K°¤N°EÑ:Ô:Ð:Ð:Ð:r2   c                 óî   — ddddœ|         }g d¢g d¢g}|x|d         |<   |d         |<   | |c|d         |<   |d         |<   |                       ||¦  «         |r|                      ||||¦  «         d S d S )Nr[   r   ©r   r[   rz   r#   )r¢   Údraw_tick_line_label)rE   rh   r~   r¯   rµ   r´   Ú	tick_axisÚ	tick_lines           r0   r¬   zPlotAxesOrdinate.draw_tick_lineß   s­   € Ø˜a AÐ&Ð& tÔ,ˆ	Ø�Y�Y 	 	 	Ð*ˆ	Ø26Ð6ˆ	�!Œ�TÑ˜Y qœ\¨$Ñ/Ø<B¸7ÀFÐ8ˆ	�!Œ�YÑ ¨1¤¨iÑ!8Ø�Š�y %Ñ(Ô(Ð(Øð 	AØ×%Ò% d¨E°6¸4Ñ@Ô@Ð@Ð@Ð@ð	Að 	Ar2   c                 óº   — | j         j        sd S g d¢}|||<   g d¢|         |z  dz  |ddddœ|         <   |                      t          |¦  «        ||d¬¦  «         d S )	Nr#   )r«   r[   r[   g      @r[   r   rÄ   rx   )r–   )rs   rB   r™   Ústr)rE   rh   r~   r¯   rµ   Útick_label_vectors         r0   rÅ   z%PlotAxesOrdinate.draw_tick_line_labelè   s†   € ØŒwÔ"ð 	ØˆFØ%˜I˜IÐØ"&Ð˜$ÑØ6@°j°jØô7Øñ7Ø ñ7!Ð˜a A¨!Ð,Ð,¨TÔ2Ñ3à�Š•s˜4‘y”yÐ"3°UÀ#ˆÑFÔFÐFÐFÐFr2   )
rm   rn   ro   rH   r|   r­   r·   r¬   rÅ   Ú__classcell__©r¨   s   @r0   r4   r4   ¯   s�   ø€ € € € € ð&ð &ð &ð &ð &ðNð Nð Nð4?ð ?ð ?ð;ð ;ð ;ðAð Að AðGð Gð Gð Gð Gð Gð Gr2   r4   c                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )r6   c                 óJ   •— t          ¦   «                              |¦  «         d S rJ   r¥   r§   s     €r0   rH   zPlotAxesFrame.__init__ô   r©   r2   c                 ó   — d S rJ   r-   r}   s     r0   r{   zPlotAxesFrame.draw_background÷   r€   r2   c                 ó   — t          ¦   «         ‚rJ   r‚   r„   s      r0   r|   zPlotAxesFrame.draw_axisú   r…   r2   )rm   rn   ro   rH   r{   r|   rË   rÌ   s   @r0   r6   r6   ò   sV   ø€ € € € € ð&ð &ð &ð &ð &ðð ð ð$ð $ð $ð $ð $ð $ð $r2   r6   )Ú	pyglet.glÚglrQ   Úpygletr   Ú
sympy.corer   Ú%sympy.plotting.pygletplot.plot_objectr   Úsympy.plotting.pygletplot.utilr   r   r   r	   r
   r   Úsympy.utilities.iterablesr   r   rq   r4   r6   r-   r2   r0   ú<module>rØ      s|  ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?à 1Ð 1Ð 1Ð 1Ð 1Ð 1ðn*ð n*ð n*ð n*ð n*ˆzñ n*ô n*ð n*ðb0ð 0ð 0ð 0ð 0�:ñ 0ô 0ð 0ðf@Gð @Gð @Gð @Gð @G�|ñ @Gô @Gð @GðF	$ð 	$ð 	$ð 	$ð 	$�Lñ 	$ô 	$ð 	$ð 	$ð 	$r2   