
    ^h              	          S SK r S SKJrJrJrJrJrJr  SSKJ	r	  \(       a  SSK
Jr  SSKJrJr  SSKJr  S/rS	r\ R&                  " \\ R(                  5      r\ R&                  " S
\ R(                  5      r\ R&                  " S\ R(                  5      r\ R&                  " S5      rSSS\\   SSS\4S jrSSS\\   S\\\\4      4S jrSSS\S\S\\   4S jrSSS\S\4S jrSSS\S\4S jr SSS\S\4S jr!SS jr"g)    N)TYPE_CHECKINGAnyDictIterableListMatch   )	strip_end)BlockParser)BaseRenderer
BlockState)Markdowndef_listzp^(?P<def_list_head>(?:[^\n]+\n)+?)\n?(?:\:[ \t]+.*\n(?:[^\n]+\n)*(?:(?:[ \t]*\n)*[ \t]+[^\n]+\n)*(?:[ \t]*\n)*)+z^:[ \t]+z^ {0,4}z\n[ \t]*\n$blockr   mstater   returnc                 |   UR                  5       n[        [        X5      5      n[        R	                  UR
                  U5      nU(       a\  UR                  [        [        X5      5      5        UR                  5       n[        R	                  UR
                  U5      nU(       a  M\  UR                  SUS.5        U$ )Nr   typechildren)endlist_parse_def_itemDEF_REmatchsrcextendappend_token)r   r   r   posr   m2s         R/home/james-whalen/.local/lib/python3.13/site-packages/mistune/plugins/def_list.pyparse_def_listr#      s    
%%'COE-.H	eii	%B
_U789ffh\\%))S) "
 
 	
 J    c              #   d  #    UR                  S5      nUR                  5        H
  nSUS.v   M     UR                  S5      n[        U5      n[        R	                  XE5      nUc   eUR                  5       nXEU S:H  nU(       a  [        R	                  XGS-   5      nU(       d  OaUR                  5       nXGU R                  SSS5      n	[        X	U5      n
[        [        R	                  U	5      5      nSU
S	.v   UnU(       a  M  XGS  R                  SSS5      n	[        X	U5      n
SU
S	.v   g 7f)
Ndef_list_head)r   textr   
   : def_list_itemr   )
group
splitlineslenDD_START_REsearchstartreplace_process_textboolHAS_BLANK_LINE_RE)r   r   headliner   r   r!   r2   prev_blank_liner'   r   s              r"   r   r   1   s5    77?#D!#
 	
 " ''!*C
d)C			C	%B>>HHJEen,O
QY/hhj~%%c32 o>077=># 
 	
  " v;sC+DU/:H s   DD0)D0r'   loosec                 (   [         R                  SU5      nU R                  5       nUR                  [	        U5      5        U R                  X0R                  5        UR                  nU(       d#  [        U5      S:X  a  US   S   S:X  a  SUS   S'   U$ )N r)   r   r   	paragraph
block_text)	TRIM_REsub	state_clsprocessr
   parse
list_rulestokensr/   )r   r'   r:   r   rE   s        r"   r4   r4   W   sz    ;;r4 DOOE	MM)D/"	KK''(\\FS[A%&)F*;{*J(q	&Mr$   rendererr   c                     SU-   S-   $ )Nz<dl>
z</dl>
 rF   r'   s     r"   render_def_listrJ   c   s    d?Y&&r$   c                     SU-   S-   $ )Nz<dt>z</dt>
rH   rI   s     r"   render_def_list_headrL   g       D=9$$r$   c                     SU-   S-   $ )Nz<dd>z</dd>
rH   rI   s     r"   render_def_list_itemrO   k   rM   r$   c                 f   U R                   R                  S[        [        SS9  U R                  (       a|  U R                  R
                  S:X  aa  U R                  R                  S[        5        U R                  R                  S[        5        U R                  R                  S[        5        ggg)aj  A mistune plugin to support def list, spec defined at
https://michelf.ca/projects/php-markdown/extra/#def-list

Here is an example:

.. code-block:: text

    Apple
    :   Pomaceous fruit of plants of the genus Malus in
        the family Rosaceae.

    Orange
    :   The fruit of an evergreen tree of the genus Citrus.

It will be converted into HTML:

.. code-block:: html

    <dl>
    <dt>Apple</dt>
    <dd>Pomaceous fruit of plants of the genus Malus in
    the family Rosaceae.</dd>

    <dt>Orange</dt>
    <dd>The fruit of an evergreen tree of the genus Citrus.</dd>
    </dl>

:param md: Markdown instance
r   r=   )beforehtmlr&   r,   N)	r   registerDEF_PATTERNr#   rF   NAMErJ   rL   rO   )mds    r"   r   r   o   s|    < HHj+~kR	{{r{{''61
Z9
_.BC
_.BC 2{r$   )rV   r   r   N)#retypingr   r   r   r   r   r   utilr
   block_parserr   corer   r   markdownr   __all__rT   compileMr   r0   r?   r6   strintr#   r   r5   r4   rJ   rL   rO   r   rH   r$   r"   <module>rb      sF   	 B B */#,

  
K	&jjbdd+
**Z
&JJ~. - E#J | PS &#= #U3Z #HT#s(^<T #L	 	c 	$ 	49 	'n 'C 'C '%> % % %%> % % %"Dr$   