o
    Ù­jG  ã                
   @   sn   d dl Z ddlmZmZmZ ddlmZ e  e¡Z	dede
de
d	ed
ef
dd„Zdede
d
deB fdd„ZdS )é    Né   )Ú
charCodeAtÚisSpaceÚnormalizeReferenceé   )Ú
StateBlockÚstateÚ	startLineÚ_endLineÚsilentÚreturnc                 C   s®  t  d| |||¡ | j| | j|  }| j| }|d }|  |¡r#dS | j| dkr,dS | j||d … }t|ƒ}d }d}||k r�t||ƒ}	|	dkrLdS |	dkrS|}nJ|	dkrmt	| |ƒ }
d url||
7 }t|ƒ}|d7 }n(|	dkr•|d7 }||k r•t||ƒdkr•t	| |ƒ }
d ur•||
7 }t|ƒ}|d7 }|d7 }||k sA|d u s®|d	k s®t||d ƒd
kr°dS |d }||k råt||ƒ}	|	dkr×t	| |ƒ }
d urÖ||
7 }t|ƒ}|d7 }nt
|	ƒrÜnn|d7 }||k s¸| jj |||¡}|jsódS | j |j¡}| j |¡�sdS |j}|}|}|}||k �rBt||ƒ}	|	dk�r2t	| |ƒ }
d u�r1||
7 }t|ƒ}|d7 }nt
|	ƒ�r8nn	|d7 }||k �s| jj |||d ¡}|j�rwt	| |ƒ }
d u �r[n||
7 }|}t|ƒ}|d7 }| jj ||||¡}|j�sP||k �rŒ||k�rŒ|j�rŒ|j}|j}nd}|}|}||k �r«t||ƒ}	t
|	ƒ�s¢n	|d7 }||k �s—||k �rÚt||ƒdk�rÚ|�rÚd}|}|}||k �rÚt||ƒ}	t
|	ƒ�sÑn	|d7 }||k �sÆ||k �rét||ƒdk�rédS t|d|… ƒ}|�södS |�rûdS d| jv�ri | jd< || _| jj dd¡�r+|  ddd	¡}||||d|… dœ|_|| jg|_|| jd v�rC|||| jgdœ| jd |< dS | j dg ¡ ||||| jgdœ¡ dS )Nz"entering reference: %s, %s, %s, %sr   Fú[é[   é]   é
   é\   r   é:   r   Ú TÚ
referencesÚinline_definitionsÚ
definition)ÚidÚtitleÚurlÚlabel)r   ÚhrefÚmapÚduplicate_refs)r   r   r   r   )ÚLOGGERÚdebugÚbMarksÚtShiftÚeMarksÚis_code_blockÚsrcÚlenr   ÚgetNextLiner   ÚmdÚhelpersÚparseLinkDestinationÚokÚnormalizeLinkÚstrÚvalidateLinkÚposÚparseLinkTitleÚcan_continuer   ÚenvÚlineÚoptionsÚgetÚpushÚmetar   Ú
setdefaultÚappend)r   r	   r
   r   r.   ÚmaximumÚnextLineÚstringÚlabelEndÚchÚlineContentÚdestResr   Ú
destEndPosÚdestEndLineNoÚstartÚtitleResr   r   Útoken© rE   ú^/var/www/html/CropPilot/venv/lib/python3.10/site-packages/markdown_it/rules_block/reference.pyÚ	reference	   s  
ÿ


€ê"
€õ


€

õù	



ü 



ü

üý÷üÿ	rG   r:   c           
      C   sÂ   | j }||ks|  |¡rd S d}|  |¡rd}| j| dk r d}|sI| jjj d¡}| j}d| _d}|D ]}|| ||dƒrAd} nq4|| _|rId S | j	| | j
|  }| j| }	| j||	d … S )NFTr   rG   r   )ÚlineMaxÚisEmptyr#   ÚsCountr'   ÚblockÚrulerÚgetRulesÚ
parentTyper    r!   r"   r$   )
r   r:   ÚendLineÚisContinuationÚterminatorRulesÚoldParentTypeÚ	terminateÚterminatorRuler.   r9   rE   rE   rF   r&   Ã   s0   
þ
r&   )ÚloggingÚcommon.utilsr   r   r   Ústate_blockr   Ú	getLoggerÚ__name__r   ÚintÚboolrG   r,   r&   rE   rE   rE   rF   Ú<module>   s    
 ;