U
    Sh                     @   s2   d dl mZmZ ddlmZ eeedddZdS )   )
isStrSpacenormalizeReference   )StateInline)statesilentreturnc                 C   sj  d}d}d }| j }| j}| j }d}| j| j  dkr6dS | j d }	| jj| | j d}
|
dk r`dS |
d }||k r| j| dkrd}|d7 }||k r| j| }t|s|dkrq|d7 }q||krdS |}| jj| j|| j}|jr| j	|j
}| j|r|j }nd}|}||k rN| j| }t|sB|dkrBqN|d7 }q| jj| j|| j}||k r||kr|jr|j
}|j }||k r| j| }t|s|dkrq|d7 }q||ks| j| d	krd}|d7 }|rd
| jkr dS ||k r^| j| dkr^|d }| jj| |}|dkrT| j|| }|d7 }n|
d }n|
d }|sz| j|	|
 }t|}|| jd
 kr| jd
 | nd }|s|| _ dS |d }|d }|sZ|	| _ |
| _| ddd}d|i|_|r |d| |r"| jjddr"||jd< |  jd7  _| jj|  |  jd8  _| ddd}|| _ || _dS )N T[Fr       (
)Z
referenceshreftitleZ	link_openaZstore_labelslabelZ
link_close)posZposMaxsrcmdZhelpersZparseLinkLabelr   ZparseLinkDestinationokZnormalizeLinkstrZvalidateLinkZparseLinkTitleenvr   pushattrsZattrSetoptionsgetmetaZ	linkLevelinlinetokenize)r   r   r   r   r   ZoldPosmaximumstartZparseReferenceZ
labelStartZlabelEndr   chresreftoken r'   P/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/rules_inline/link.pylink   s    









 

r)   N)Zcommon.utilsr   r   Zstate_inliner   boolr)   r'   r'   r'   r(   <module>   s   