o
    ñÅ[h,  ã                   @   s    d dl Z ddd„Zd	dd„ZdS )
é    NFéÿÿÿÿc                 C   sê   g g d df\}}}}t | ƒD ]J\}	}
|r"| |
¡ |
|kr!|s!d }n-|
|krD| d |¡¡ g }t|ƒ|krC| | |	d d … ¡  nn| |
¡ |
dv rO|
}|
dkrV| nd}q| d |¡¡ |rjdd„ |D ƒ}|rsdd„ |D ƒ}|S )	NFÚ é   )ú"ú'ú\c                 S   s   g | ]}|  ¡ ‘qS © )Ústrip©Ú.0Útr   r   ú}/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/otree/templating/utils.pyÚ
<listcomp>   ó    zsplitc.<locals>.<listcomp>c                 S   s   g | ]}|r|‘qS r   r   r
   r   r   r   r   !   r   )Ú	enumerateÚappendÚjoinÚlen)ÚsÚ	delimiterr	   Zdiscard_emptyÚmaxsplitÚtokensÚbufZ	expectingÚescapedÚindexÚcharr   r   r   Úsplitc   s0   
€þ
r   c                 C   sÌ   g g }}d}d}|d  |¡; }t || ¡D ]<}| ¡ d dv r0| | || ¡ … ¡ | ¡ }q| | || ¡ … ¡ | d  |¡¡ g }| ¡ }|rR| | ¡ ¡ q| | |d … ¡ | d  |¡¡ |S )Nr   z&"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'|%sú|)r   r   r   )r   ÚreÚfinditerÚgroupr   ÚendÚstart)r   Ú
delimitersZkeepdelsr   r   Zend_last_matchÚpatternÚmatchr   r   r   Úsplitre'   s&   
€r&   )FFr   )F)r   r   r&   r   r   r   r   Ú<module>   s    
"