
    Ri                    L    d Z ddlmZ ddlmZ erddlmZ ddlmZ d	dZ	d
dZ
y)zUtility functions for math.    )annotations)TYPE_CHECKING)nodes)HTML5Translatorc                ,   | j                   j                  j                  r| j                   j                  j                  rd}| j                   j                  dk(  r| j
                  d    d| }n|}|d   d   }| j                   j                  j                  |i       j                  |d      }dj                  t        t        |            }| j                   j                  j                  j                  |j                  dd	            }|S |d
   S )Ndisplaymath
singlehtml/idsr    .   number)builderconfigmath_numfignumfignamedocnames
fignumbersgetjoinmapstrmath_numseprsplit)writernodefigtypekeyidr   eqnos          H/home/agent/.friday_env/lib/python3.12/site-packages/sphinx/util/math.pyget_node_equation_numberr%      s    ~~((V^^-B-B-I-I>>,.__R()7)4CC%[^**..sB7;;BCxxC()~~$$0055dkk#q6IJH~    c                   dd}|d}nd|z  }d}t        t        || j                  d                  }g }t        |      dk(  ryt        |      dk(  r)|rd|z   }d	}nd
|z   }d}|j	                  d|d   z         n)|rd|z  }d}nd|z  }d}|j                  d |D               dj                  |      }	| d|	 | S )Nc                "    | j                         S )Nstrip)parts    r$   is_equationz%wrap_displaymath.<locals>.is_equation   s    zz|r&    z
\label{%s}Tz

r   r   z\begin{equation}z\end{equation}z\begin{equation*}z\end{equation*}z\begin{split}%s\end{split}
z \begin{align}%s\!\begin{aligned}z\end{aligned}\end{align}z!\begin{align*}%s\!\begin{aligned}z\end{aligned}\end{align*}c              3  B   K   | ]  }d |j                         z    yw)z%s\\
Nr)   ).0r+   s     r$   	<genexpr>z#wrap_displaymath.<locals>.<genexpr>;   s     Etdjjl2Es   
)r+   r   returnr   )listfiltersplitlenappendextendr   )
textlabel	numberingr,   labeldefparts	equationsbeginendconcatenated_equationss
             r$   wrap_displaymathrB      s     } 5(	TZZ%789EI
5zQ	Uq'(2E#C(83E$C9E!HDE7(BE-C88CE.CEuEEWWY/WB-.se44r&   N)r   r   r   znodes.math_blockr2   r   )r9   r   r:   z
str | Noner;   boolr2   r   )__doc__
__future__r   typingr   docutilsr   sphinx.writers.html5r   r%   rB   r   r&   r$   <module>rI      s!    ! "  4" 5r&   