§
    OŠtj  ã                   óò   — 	 d dl mZmZmZ n# e$ r Y nw xY wd dlmZ d dlm	Z	 eej
        fd„Zeej
        fd„Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Z dS )é    )Úc_floatÚc_intÚc_doubleN)ÚSc                 óL   —  | dz  ¦   «         } |t           j        |¦  «         |S ©z/
    Returns the current modelview matrix.
    é   )ÚpglÚGL_MODELVIEW_MATRIX©Ú
array_typeÚglGetMethodÚms      ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/plotting/pygletplot/util.pyÚget_model_matrixr   
   s/   € ð 
ˆ�B‰ÑÔ€AØ€K•Ô'¨Ñ+Ô+Ð+Ø€Hó    c                 óL   —  | dz  ¦   «         } |t           j        |¦  «         |S r   )r
   ÚGL_PROJECTION_MATRIXr   s      r   Úget_projection_matrixr      s/   € ð 
ˆ�B‰ÑÔ€AØ€K•Ô(¨!Ñ,Ô,Ð,Ø€Hr   c                  óf   — t          dz  ¦   «         } t          j        t          j        | ¦  «         | S )z'
    Returns the current viewport.
    é   )r   r
   ÚglGetIntegervÚGL_VIEWPORT©r   s    r   Úget_viewportr      s+   € õ 
ˆq‰‰Œ€AÝÔ•c”o qÑ)Ô)Ð)Ø€Hr   c                  ó¦   — t          ¦   «         } | d         | d         | d         f| d         | d         | d         f| d         | d         | d	         ffS )
Nr   r   é   é   é   é	   é   é   é
   ©r   r   s    r   Úget_direction_vectorsr%   %   óY   € ÝÑÔ€AØˆqŒT�1�Q”4˜˜1œÐØˆqŒT�1�Q”4˜˜1œÐØˆqŒT�1�Q”4˜˜2œÐð!ð !r   c                  ó¦   — t          ¦   «         } | d         | d         | d         f| d         | d         | d         f| d         | d         | d	         ffS )
Nr   r   r!   r   r   r"   r   r    r#   r$   r   s    r   Úget_view_direction_vectorsr(   ,   r&   r   c                  ó   — dS )N))r   r   r   )r   r   r   )r   r   r   © r*   r   r   Úget_basis_vectorsr+   3   s   € Ø,Ð,r   c                 óœ  — t          t          t          j        ¦  «        }t	          t          t          j        ¦  «        }t          ¦   «         }t          ¦   «         t          ¦   «         t          ¦   «         }}}t          j        | ||||||||¦	  «	         t          |j        ¦  «        t          |j        ¦  «        t          |j        ¦  «        fS ©N)	r   r   r
   ÚglGetDoublevr   r   ÚgluUnProjectÚfloatÚvalue©	ÚxÚyÚzr   ÚpÚwÚmxÚmyÚmzs	            r   Úscreen_to_modelr;   7   sŽ   € Ý�¥3Ô#3Ñ4Ô4€AÝ�h­Ô(8Ñ9Ô9€AÝ‰Œ€AÝ‘”�X™ZœZ­©¬ˆBˆ€BÝÔ�Q˜˜1˜a  A r¨2¨rÑ2Ô2Ð2Ý�”‰?Œ?�E "¤(™OœO­U°2´8©_¬_Ð<Ð<r   c                 óœ  — t          t          t          j        ¦  «        }t	          t          t          j        ¦  «        }t          ¦   «         }t          ¦   «         t          ¦   «         t          ¦   «         }}}t          j        | ||||||||¦	  «	         t          |j        ¦  «        t          |j        ¦  «        t          |j        ¦  «        fS r-   )	r   r   r
   r.   r   r   Ú
gluProjectr0   r1   r2   s	            r   Úmodel_to_screenr>   @   s�   € Ý�¥3Ô#3Ñ4Ô4€AÝ�h­Ô(8Ñ9Ô9€AÝ‰Œ€AÝ‘”�X™ZœZ­©¬ˆBˆ€BÝ„N�1�a˜˜A˜q ! R¨¨RÑ0Ô0Ð0Ý�”‰?Œ?�E "¤(™OœO­U°2´8©_¬_Ð<Ð<r   c                 ór   ‡ ‡— t          ˆ ˆfd„t          t          ‰ ¦  «        ¦  «        D ¦   «         ¦  «        S )Nc              3   ó:   •K  — | ]}‰|         ‰|         z
  V — Œd S r-   r*   )Ú.0ÚiÚaÚbs     €€r   ú	<genexpr>zvec_subs.<locals>.<genexpr>J   s/   øè è € Ð4Ð4 ��1”˜˜!œ‘Ð4Ð4Ð4Ð4Ð4Ð4r   )ÚtupleÚrangeÚlen)rC   rD   s   ``r   Úvec_subsrI   I   s6   øø€ ÝÐ4Ð4Ð4Ð4Ð4¥e­C°©F¬F¡m¤mÐ4Ñ4Ô4Ñ4Ô4Ð4r   c                  ó¤   — t          ¦   «         } d| d<   d| d<   d| d<   d| d<   d| d<   d| d<   d| d<   d| d<   d| d	<   t          j        | ¦  «         d
S )zÊ
    Removes rotational components of
    current matrix so that primitives
    are always drawn facing the viewer.

    |1|0|0|x|
    |0|1|0|x|
    |0|0|1|x| (x means left unchanged)
    |x|x|x|x|
    r   r   r!   r   r   r"   r   r    r#   N)r   r
   ÚglLoadMatrixfr   s    r   Úbillboard_matrixrL   M   sw   € õ 	ÑÔ€Aà€A€a�DØ€A€a�DØ€A€a�DØ€A€a�DØ€A€a�DØ€A€a�DØ€A€a�DØ€A€a�DØ€A€b�EÝÔ�aÑÔÐÐÐr   c                  ó–   — t           j        t           j        dgt           j        t           j        dgt           j        t           j        dggS )Nr   )r   ÚInfinityÚNegativeInfinityr*   r   r   Úcreate_boundsrP   f   s9   € ÝŒZ�Ô+¨QÐ/ÝŒZ�Ô+¨QÐ/ÝŒZ�Ô+¨QÐ/ð1ð 1r   c                 óâ   — |€d S t          d¦  «        D ]Z}t          | |         d         ||         g¦  «        | |         d<   t          | |         d         ||         g¦  «        | |         d<   Œ[d S )Né   r   r   )rG   ÚminÚmax)rD   ÚvÚaxiss      r   Úupdate_boundsrW   l   sy   € Ø€yØˆÝ�a‘”ð 0ð 0ˆÝ˜!˜Dœ' !œ* a¨¤gÐ.Ñ/Ô/ˆˆ$Œ�‰
Ý˜!˜Dœ' !œ* a¨¤gÐ.Ñ/Ô/ˆˆ$Œ�‰
ˆ
ð0ð 0r   c                 ó   — | ||| z
  z  z   S r-   r*   )Úa_minÚa_maxÚa_ratios      r   Úinterpolater\   t   s   € Ø�7˜e e™mÑ,Ñ,Ð,r   c                 óF   — || z
  }|| k    rd}|| z
  t          |¦  «        z  S )Ng      ð?)r0   )rY   rZ   Úa_valueÚa_ranges       r   Úrinterpolater`   x   s.   € Ø�e‰m€GØ�‚~€~ØˆØ�e‰O�u W™~œ~Ñ-Ð-r   c                 ó\   ‡ ‡‡— t          ˆ ˆˆfd„t          d¦  «        D ¦   «         ¦  «        S )Nc              3   óR   •K  — | ]!}t          ‰|         ‰|         ‰¦  «        V — Œ"d S r-   )r\   )rA   rB   Úcolor1Úcolor2Úratios     €€€r   rE   z$interpolate_color.<locals>.<genexpr>€   s7   øè è € ÐLÐL¸a•˜V AœY¨¨q¬	°5Ñ9Ô9ÐLÐLÐLÐLÐLÐLr   rR   ©rF   rG   )rc   rd   re   s   ```r   Úinterpolate_colorrg      s4   øøø€ ÝÐLÐLÐLÐLÐLÐLÅ5ÈÁ8Ä8ÐLÑLÔLÑLÔLÐLr   c                 ó   — | |z
  |z  S r-   r*   )rU   Úv_minÚv_lens      r   Úscale_valuerk   ƒ   s   € Ø�‰I˜ÑÐr   c                 ól   ‡‡— t          | ¦  «        t          | ¦  «        cŠ}|‰z
  Šˆˆfd„| D ¦   «         S )Nc                 ó2   •— g | ]}t          |‰‰¦  «        ‘ŒS r*   )rk   )rA   Úfrj   ri   s     €€r   ú
<listcomp>z$scale_value_list.<locals>.<listcomp>Š   s%   ø€ Ð8Ð8Ð8¨Q�K˜˜5 %Ñ(Ô(Ð8Ð8Ð8r   )rS   rT   )ÚflistÚv_maxrj   ri   s     @@r   Úscale_value_listrr   ‡   sA   øø€ Ý�u‘:”:�s 5™zœz€L€Eˆ5Ø�E‰M€EØ8Ð8Ð8Ð8Ð8°%Ð8Ñ8Ô8Ð8r   é2   c                 óì  ‡ ‡— ‰ |}}t          ‰ |z
  ¦  «        dk     rg S 	 t          t          ‰ |z
  ¦  «        ¦  «         n# t          t          f$ r g cY S w xY w‰ |k    rt          d¦  «        ‚‰ ‰z  }‰|‰z  z
  }t          |‰z
  ¦  «        dk     rd}‰ |z  Š ||z  }t          |‰ z
  ‰z  ¦  «        }|r||k    rt          ||‰dz  ¦  «        S ‰ gˆ ˆfd„t          d|dz   ¦  «        D ¦   «         z   |gz   S )Ngü©ñÒMbP?z"r_min cannot be greater than r_maxg        r!   c                 ó    •— g | ]
}‰|‰z  z   ‘ŒS r*   r*   )rA   ÚeÚr_minÚstrides     €€r   ro   z!strided_range.<locals>.<listcomp>    s"   ø€ ÐFÐFÐF¨1�e˜a ™hÑ&ÐFÐFÐFr   r   )ÚabsrG   ÚintÚ	TypeErrorÚOverflowErrorÚ
ValueErrorÚstrided_range)	rw   Úr_maxrx   Ú	max_stepsÚo_minÚo_maxÚr_min_sÚr_max_sÚr_stepss	   ` `      r   r~   r~   �   sL  øø€ Ø˜%ˆ5€EÝ
ˆ5�5‰=ÑÔ˜EÒ!Ð!Øˆ	ðÝ�c�%˜%‘-Ñ Ô Ñ!Ô!Ð!Ð!øÝ•}Ð%ð ð ð Øˆ	ˆ	ˆ	ðøøøàˆu‚}€}ÝÐ=Ñ>Ô>Ð>Ø�v‰~€GØ˜ ™Ñ'€GÝ
ˆ7�VÑÑÔ˜uÒ$Ð$ØˆØ	ˆWÑ€EØ	ˆWÑ€EÝ�5˜5‘= &Ñ(Ñ)Ô)€GØð 5�W˜yÒ(Ð(Ý˜U E¨6°!©8Ñ4Ô4Ð4Øˆ7ÐFÐFÐFÐFÐFµ°a¸À1¹Ñ0EÔ0EÐFÑFÔFÑFÈ%ÈÑPÐPs    A  Á AÁAc                 óv  — t          | t          ¦  «        sd S i }|                      d¦  «        D ]‰}|                     d¦  «        }t          |¦  «        dk    r|d         d}}n+t          |¦  «        dk    r|\  }}nt	          d| z  ¦  «        ‚|                     ¦   «         ||                     ¦   «         <   ŒŠ|S )Nú;ú=r   r   Ú r!   z%Plot option string '%s' is malformed.)Ú
isinstanceÚstrÚsplitrH   r}   Ústrip)ÚsÚoptionsÚtokenÚpiecesÚoptionr1   s         r   Úparse_option_stringr“   £   sº   € Ý�a�ÑÔð ØˆtØ€GØ—’˜‘”ð 0ð 0ˆØ—’˜SÑ!Ô!ˆÝˆv‰;Œ;˜!ÒÐØ" 1œI r�EˆFˆFÝ�‰[Œ[˜AÒÐØ"‰MˆF�E�EåÐDÈÑJÑKÔKÐKØ"'§+¢+¡-¤-ˆ�—’‘”ÑÐØ€Nr   c                 óX   ‡ ‡— t          ˆ ˆfd„t          d¦  «        D ¦   «         ¦  «        S )Nc              3   ó:   •K  — | ]}‰|         ‰|         z  V — Œd S r-   r*   ©rA   rB   Úv1Úv2s     €€r   rE   zdot_product.<locals>.<genexpr>´   s/   øè è € Ð-Ð-˜qˆr�!Œu�R˜”U‰{Ð-Ð-Ð-Ð-Ð-Ð-r   rR   ©ÚsumrG   ©r—   r˜   s   ``r   Údot_productrœ   ³   s0   øø€ ÝÐ-Ð-Ð-Ð-Ð-¥E¨!¡H¤HÐ-Ñ-Ô-Ñ-Ô-Ð-r   c                 óX   ‡ ‡— t          ˆ ˆfd„t          d¦  «        D ¦   «         ¦  «        S )Nc              3   ó:   •K  — | ]}‰|         ‰|         z
  V — Œd S r-   r*   r–   s     €€r   rE   zvec_sub.<locals>.<genexpr>¸   s/   øè è € Ð1Ð1 1��A”˜˜Aœ‘Ð1Ð1Ð1Ð1Ð1Ð1r   rR   rf   r›   s   ``r   Úvec_subrŸ   ·   s0   øø€ ÝÐ1Ð1Ð1Ð1Ð1­¨a©¬Ð1Ñ1Ô1Ñ1Ô1Ð1r   c                 óZ   ‡ — t          ˆ fd„t          d¦  «        D ¦   «         ¦  «        dz  S )Nc              3   ó.   •K  — | ]}‰|         d z  V — ŒdS )r!   Nr*   )rA   rB   rU   s     €r   rE   zvec_mag.<locals>.<genexpr>¼   s+   øè è € Ð)Ð)˜1ˆq�Œt�Q‰wÐ)Ð)Ð)Ð)Ð)Ð)r   rR   g      à?r™   )rU   s   `r   Úvec_magr¢   »   s1   ø€ ÝÐ)Ð)Ð)Ð)¥ a¡¤Ð)Ñ)Ô)Ñ)Ô)¨CÑ0Ð0r   )rs   )!Úctypesr   r   r   ÚImportErrorÚ	pyglet.glÚglr
   Ú
sympy.corer   ÚglGetFloatvr   r   r   r%   r(   r+   r;   r>   rI   rL   rP   rW   r\   r`   rg   rk   rr   r~   r“   rœ   rŸ   r¢   r*   r   r   ú<module>r©      sí  ðð	Ø/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/øØð 	ð 	ð 	Ø€Dð	øøøð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð !(°S´_ð ð ð ð ð &-¸#¼/ð ð ð ð ðð ð ð!ð !ð !ð!ð !ð !ð-ð -ð -ð=ð =ð =ð=ð =ð =ð5ð 5ð 5ðð ð ð21ð 1ð 1ð0ð 0ð 0ð-ð -ð -ð.ð .ð .ðMð Mð Mðð ð ð9ð 9ð 9ðQð Qð Qð Qð,ð ð ð .ð .ð .ð2ð 2ð 2ð1ð 1ð 1ð 1ð 1s   ‚
 �”