
    Fen                    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        |            S |d	   S )
Ndisplaymath
singlehtml/idsr    .number)builderconfigmath_numfignumfignamedocnames
fignumbersgetjoinmapstr)writernodefigtypekeyidr   s         2/usr/lib/python3/dist-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())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}|D ]$  }	|j	                  d|	j                         z         & 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      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*}z%s\\

)r&   r   returnr   )listfiltersplitlenappendr%   r   )textlabel	numberingr'   labeldefparts	equationsbeginendr&   concatenated_equationss              r    wrap_displaymathr:      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 	8DZ$**,67	8  WWY/WB-.se44r"   N)r   r   r   znodes.math_blockr+   r   )r1   r   r2   z
str | Noner3   boolr+   r   )__doc__
__future__r   typingr   docutilsr   sphinx.builders.htmlr   r!   r:   r   r"   r    <module>rA      s!    ! "  4!5r"   