
    h              	          d dl Z d dlmZmZmZmZmZmZ ddlm	Z	 erddl
mZ ddlmZmZ ddlmZ dgZd	Z e j&                  ee j(                        Z e j&                  d
e j(                        Z e j&                  de j(                        Z e j&                  d      Zdddee   dddefdZdddee   deeeef      fdZdddededee   fdZdddedefdZdddedefdZ dddedefdZ!ddZ"y)    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                 j   |j                         }t        t        | |            }t        j	                  |j
                  |      }|rW|j                  t        t        | |                   |j                         }t        j	                  |j
                  |      }|rW|j                  d|d       |S )Nr   typechildren)endlist_parse_def_itemDEF_REmatchsrcextendappend_token)r   r   r   posr   m2s         W/var/www/html/aiagenthome/venv/lib/python3.12/site-packages/mistune/plugins/def_list.pyparse_def_listr#      s    
%%'COE1-.H	eii	%B
_UB789ffh\\%))S) 
 
 	
 J    c              #   L  K   |j                  d      }|j                         D ]	  }d|d  |j                  d      }t        |      }t        j	                  ||      }|J |j                         }||| dk(  }|ryt        j	                  ||dz         }|sn]|j                         }||| j                  ddd      }	t        | |	|      }
t        t        j	                  |	            }d|
d	 |}|ry||d  j                  ddd      }	t        | |	|      }
d|
d	 y w)
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   sB    77?#D!#
 	
 " ''!*C
d)C			C	%B>>HHJE#en,O
UQY/hhj5~%%c32 o>077=># 
 	
   uv;sC+DUD/:H s   C6D$9+D$r'   loosec                    t         j                  d|      }| j                         }|j                  t	        |             | j                  || j                         |j                  }|s!t        |      dk(  r|d   d   dk(  rd|d   d<   |S )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   s|    ;;r4 DOOE	MM)D/"	KKu''(\\FS[A%&)F*;{*J(q	&Mr$   rendererr   c                     d|z   dz   S )Nz<dl>
z</dl>
 rF   r'   s     r"   render_def_listrJ   c   s    d?Y&&r$   c                     d|z   dz   S )Nz<dt>z</dt>
rH   rI   s     r"   render_def_list_headrL   g       D=9$$r$   c                     d|z   dz   S )Nz<dd>z</dd>
rH   rI   s     r"   render_def_list_itemrO   k   rM   r$   c                 `   | j                   j                  dt        t        d       | j                  r{| j                  j
                  dk(  ra| j                  j                  dt               | j                  j                  dt               | j                  j                  dt               yyy)a  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      sN   	 B B */#,

  
K	&bjjbdd+
"**Z
&BJJ~. - E#J | PS &#= #U3Z #HT#s(^<T #L	 	c 	$ 	49 	'n 'C 'C '%> % % %%> % % %"Dr$   