
    Mhc                    0   U d Z ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	lmZ dd
lmZ ddlmZ erddlmZ  ej(                  e      Zeeeeegef   Z	 de	j4                  ddgfde	j6                  g fde	j8                  g dfde	j:                  g dfde	j<                  g dfde	j>                  g dfde	j@                  g fde	jB                  g dfde	jD                  g dfde	jF                  g fde	jH                  g fgZ%de&d<    G d d      Z'y)zBlock-level tokenizer.    )annotations)CallableN)TYPE_CHECKING   )rules_block)Ruler)
StateBlock)Token)EnvType)
MarkdownIttable	paragraph	referencecodefence)r   r   
blockquotelistr   hrr   )r   r   r   
html_blockheadinglheadingz.list[tuple[str, RuleFuncBlockType, list[str]]]_rulesc                  <    e Zd ZdZddZddZ	 	 	 	 	 	 	 	 	 	 ddZy)	ParserBlockz`
    ParserBlock#ruler -> Ruler

    [[Ruler]] instance. Keep configuration of block rules.
    c                    t        t                  | _        t        D ]%  \  }}}| j                  j	                  ||d|i       ' y )Nalt)r   RuleFuncBlockTyperulerr   push)selfnameruler   s       p/var/www/pru.catia.catastroantioquia-mas.com/valormasv2/lib/python3.12/site-packages/markdown_it/parser_block.py__init__zParserBlock.__init__7   s?    ,-/
% 	6OD$JJOOD$5	6    c                   | j                   j                  d      }|}|j                  j                  j                  }d}||k  r|j                  |      x|_        }||k\  ry|j                  |   |j                  k  ry|j                  |k\  r||_        y|D ]  } ||||d      s n | |_
        |j                  }|dz
  |k  r|j                  |dz
        rd}||k  r|j                  |      rd}|dz  }||_        ||k  ryy)z Generate tokens for input range. Fr   TN)r   getRulesmdoptions
maxNestingskipEmptyLineslinesCount	blkIndentleveltightisEmpty)	r    state	startLineendLinerulesr-   r+   hasEmptyLinesr"   s	            r#   tokenizezParserBlock.tokenize<   s   

##B'XX%%00
Wn % 4 4T ::EJw||D!EOO3 {{j( %
  tWe4 ,+EK::D qG#dQh(? $g~%--"5 $	!
I Wnr%   c                    |syt        ||||      }| j                  ||j                  |j                         |j                  S )z<Process input string and push block tokens into `outTokens`.N)r	   r8   r-   lineMaxtokens)r    srcr)   env	outTokensr3   s         r#   parsezParserBlock.parsei   s<     3C3eUZZ7||r%   N)returnNone)r3   r	   r4   intr5   rB   r@   rA   )
r<   strr)   r   r=   r   r>   zlist[Token]r@   zlist[Token] | None)__name__
__module____qualname____doc__r$   r8   r?    r%   r#   r   r   0   s?    6
+"Z&-4AL	r%   r   )(rG   
__future__r   collections.abcr   loggingtypingr   r'   r   r   r   rules_block.state_blockr	   tokenr
   utilsr   markdown_itr   	getLoggerrD   LOGGERrB   boolr   r   r   r   r   r   
list_blockr   r   r   r   r   r   __annotations__r   rH   r%   r#   <module>rV      s6    " $      /  &			8	$ j#sD94?@  k+{!;<[r"k!QR8
 
;>>KL[##%MN+'',;))+ST##%MN%%r*+'',#:6 *A Ar%   