o
    3IhK                     @  sf   d dl mZ d dlZddlmZmZ ddlmZ edZ	edZ
dddZdddZdddZdS )    )annotationsN   )	charStrAt
isStrSpace   )
StateBlockz^:?-+:?$z^\||\|$stater   lineintreturnstrc                 C  s,   | j | | j|  }| j| }| j|| S )N)bMarkstShifteMarkssrc)r   r	   posmaximum r   ]/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/markdown_it/rules_block/table.pygetLine   s   
r   string	list[str]c                 C  s   g }d}t | }d}d}d}t| |}||k rL|dkr;|s/||| ||   d}|d }n|| ||d  7 }|}|dk}|d7 }t| |}||k s||| |d    |S )Nr   F |r   \)lenr   append)r   resultr   max	isEscapedlastPoscurrentchr   r   r   escapedSplit   s*   


r#   	startLineendLinesilentboolc              	   C  s  d }|d |kr
dS |d }| j | | jk rdS | |rdS | j| | j|  }|| j| kr2dS | j| }|d7 }|dvrAdS || j| krJdS | j| }|d7 }|dvr]t|s]dS |dkrgt|rgdS || j| k r| j| }	|	dvr}t|	s}dS |d7 }|| j| k snt| |d }
|
	d}g }t
t|D ]N}||  }|s|dks|t|d krq dS t|s dS t|t|d dkr|t|ddkrd	nd
 qt|ddkr|d q|d qt| | }
d|
vrdS | |rdS t|
}|r|d dkr|d |r |d dkr |  t|}|dks0|t|kr2dS |r7dS | j}d| _| jjjd}| ddd}|dg |_}| ddd}||d g|_| ddd}||d g|_t
t|D ]7}| ddd}|| rdd||  i|_| ddd}||d g|_||  |_g |_| ddd}qu| ddd}| ddd}|d }||k r| j | | jk rnd}t
t|D ]}|| | ||drd} nq|rnt| | }
|
sn| |rnt|
}|r|d dkr|d |r|d dkr|  ||d kr6| ddd}|d dg |_}| ddd}||d g|_t
|D ]N}| d d!d}|| r_dd||  i|_| ddd}||d g|_z|| ry||  nd|_W n ty   d|_Y nw g |_| d"d!d}qH| ddd}|d7 }||k s|r| d#dd}||d< | d$dd}||d< || _|| _dS )%Nr   Fr   )r   -:r(   r   r   r)   centerrightleftr   Ttable
blockquote
table_open
thead_opentheadtr_opentrth_openthstyleztext-align:inlineth_closetr_closethead_close
tbody_opentbodytd_opentdtd_closetbody_closetable_close)sCount	blkIndentis_code_blockr   r   r   r   r   r   splitranger   stripheaderLineResearchr   r   r#   pop
parentTypemdblockrulergetRulespushmapattrscontentchildren
IndexErrorr	   )r   r$   r%   r&   
tbodyLinesnextLiner   first_ch	second_chr"   lineTextcolumnsalignsitcolumnCountoldParentTypeterminatorRulestoken
tableLines	terminater   r   r   r.   4   s  











 

3r.   )r   r   r	   r
   r   r   )r   r   r   r   )
r   r   r$   r
   r%   r
   r&   r'   r   r'   )
__future__r   recommon.utilsr   r   state_blockr   compilerI   enclosingPipesRer   r#   r.   r   r   r   r   <module>   s   



