ó
    ‹*£h<  ã                   óp   • S r SSKJr  SSKJr  SS/0rS rS rS r\" S	S
9S 5       r	\" S	S
9SS j5       r
g)z‰Module with some functions for MathML, like transforming MathML
content in MathML presentation.

To use this module, you will need lxml.
é    )ÚPath)Údoctest_depends_on)Ú	apply_xslÚc2pÚlxmlc                 ó   • SU -   S-   $ )Nzì<math xmlns:mml="http://www.w3.org/1998/Math/MathML"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/1998/Math/MathML
        http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd">z</math>© )Úss    Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/utilities/mathml/__init__.pyÚadd_mathml_headersr      s(   € ðBð EFñFð IRñRð Ró    c                 óœ   • SS K nUR                  S:¼  a+  SSKJn  U" U 5      R	                  U5      R                  5       $ SSKJn  U" X5      $ )Nr   )é   é
   )Úfiles)Úread_binary)ÚsysÚversion_infoÚimportlib.resourcesr   ÚjoinpathÚ
read_bytesr   )ÚpkgnameÚfilenamer   r   r   s        r   Ú_read_binaryr      sD   € Ûà
×Ñ˜7Ó"å-Ù�W‹~×&Ñ& xÓ0×;Ñ;Ó=Ð=õ 	4Ù˜7Ó-Ð-r   c                 ó”   • U S:X  a  Sn OU S:X  a  Sn OU S:X  a  Sn U S;   a  [        SU 5      nU$ [        U 5      R                  5       nU$ )	Númathml/data/simple_mmlctop.xslúsimple_mmlctop.xslúmathml/data/mmlctop.xslúmmlctop.xslzmathml/data/mmltex.xslú
mmltex.xsl)r   r   r    zsympy.utilities.mathml.data)r   r   r   )ÚxslÚxslbytess     r   Ú	_read_xslr#   #   sb   € à
Ð.Ó.Ø"‰Ø	Ð)Ó	)Ø‰Ø	Ð(Ó	(Øˆà
ÐAÓAÜÐ =¸sÓCˆð €Oô ˜“9×'Ñ'Ó)ˆà€Or   )r   )Úmodulesc                 óð   • SSK Jn  UR                  SS9nUR                  R                  nUR                  [        U5      US9nUR                  XTS9nUR                  XS9nU" U5      n[        U5      nU$ )aÂ  Apply a xsl to a MathML string.

Parameters
==========

mml
    A string with MathML code.
xsl
    A string giving the name of an xsl (xml stylesheet) file which can be
    found in sympy/utilities/mathml/data. The following files are supplied
    with SymPy:

    - mmlctop.xsl
    - mmltex.xsl
    - simple_mmlctop.xsl

    Alternatively, a full path to an xsl file can be given.

Examples
========

>>> from sympy.utilities.mathml import apply_xsl
>>> xsl = 'simple_mmlctop.xsl'
>>> mml = '<apply> <plus/> <ci>a</ci> <ci>b</ci> </apply>'
>>> res = apply_xsl(mml,xsl)
>>> print(res)
<?xml version="1.0"?>
<mrow xmlns="http://www.w3.org/1998/Math/MathML">
  <mi>a</mi>
  <mo> + </mo>
  <mi>b</mi>
</mrow>
r   )ÚetreeF)Úresolve_entities)Úparser)Úaccess_control)	r   r&   Ú	XMLParserÚXSLTAccessControlÚDENY_ALLÚXMLr#   ÚXSLTÚstr)	Úmmlr!   r&   r(   Úacr
   Ú	transformÚdocÚresults	            r   r   r   4   sv   € õF à�_‰_¨eˆ_Ð4€FØ	×	 Ñ	 ×	)Ñ	)€Bà�	‰	”)˜C“.¨ˆ	Ð0€AØ—
‘
˜1�
Ð0€IØ
�)‰)�Cˆ)Ð
'€CÙ�s‹^€FÜˆF‹€AØ€Hr   c                 ó‚   • U R                  S5      (       d  [        U 5      n U(       a  [        U S5      $ [        U S5      $ )aN  Transforms a document in MathML content (like the one that sympy produces)
in one document in MathML presentation, more suitable for printing, and more
widely accepted

Examples
========

>>> from sympy.utilities.mathml import c2p
>>> mml = '<apply> <exp/> <cn>2</cn> </apply>'
>>> c2p(mml,simple=True) != c2p(mml,simple=False)
True

z<mathr   r   )Ú
startswithr   r   )r0   Úsimples     r   r   r   d   s<   € ð  �>‰>˜'×"Ñ"Ü  Ó%ˆæÜ˜Ð>Ó?Ð?ä�SÐ3Ó4Ð4r   N)F)Ú__doc__Úpathlibr   Úsympy.utilities.decoratorr   Ú__doctest_requires__r   r   r#   r   r   r	   r   r   Ú<module>r<      sd   ðñõ å 8ð -¨v¨hÐ7Ð òRò
.òñ" ˜IÑ&ñ,ó 'ð,ñ^ ˜IÑ&ó5ó 'ñ5r   