§
    òŽ’jé  ã                   óP   — d dl mZ ddlmZ ddlmZ erddlmZ dddd	ed
efd„Z	dS )é    )ÚTYPE_CHECKINGé   )ÚJSONReturnType)ÚContextValues)Ú
JSONParserFÚselfr   Úrecord_top_level_valueÚreturnc                 óø  — 	 |                       ¦   «         }ddg}t          j        | j        j        v r|                     d¦  «         t          j        | j        j        v r|                     d¦  «         t          j        | j        j        v r|                     d¦  «         |dk    rRd}|r3||vr/||z  }| xj        d	z  c_        |                       ¦   «         }|r||v°/|                      d
|› d�¦  «         �n2|dk    �r+|                       d	¦  «        }|dk    rud}| xj        dz  c_        |                       ¦   «         }|r3|dvr/||z  }| xj        d	z  c_        |                       ¦   «         }|r|dv°/|                      d
|› d�¦  «         n›|dk    r…d}| xj        dz  c_        	 |                       ¦   «         }|s|                      d¦  «         n,||z  }| xj        d	z  c_        | 	                    d¦  «        rnŒX|                      d|› d�¦  «         n| xj        d	z  c_        | j        j
        rB|                      ¦   «          |                       ¦   «         dv r�Œb|                      |¬¦  «        S 	 dS )a‡  
    Parse code-like comments:

    - "# comment": A line comment that continues until a newline.
    - "// comment": A line comment that continues until a newline.
    - "/* comment */": A block comment that continues until the closing delimiter "*/".

    The comment is skipped over and an empty string is returned so that comments do not interfere
    with the actual JSON elements.
    Tú
úú]Ú}ú:ú#Ú r   zFound line comment: z
, ignoringú/z//é   )r   r   Ú*z/*zJReached end-of-string while parsing block comment; unclosed block comment.z*/zFound block comment: )r   r   )r	   )Úget_char_atr   ÚARRAYÚcontextÚappendÚOBJECT_VALUEÚ
OBJECT_KEYÚindexÚlogÚendswithÚemptyÚskip_whitespacesÚ
parse_json)r   r	   ÚcharÚtermination_charactersÚcommentÚ	next_chars         úGC:\Projects\DSCons\.venv\Lib\site-packages\json_repair\parse_comment.pyÚparse_commentr'   
   sí  € ð7Ø×ÒÑ!Ô!ˆØ"&¨ ÐÝÔ $¤,Ô"6Ð6Ð6Ø"×)Ò)¨#Ñ.Ô.Ð.ÝÔ%¨¬Ô)=Ð=Ð=Ø"×)Ò)¨#Ñ.Ô.Ð.ÝÔ# t¤|Ô';Ð;Ð;Ø"×)Ò)¨#Ñ.Ô.Ð.à�3Š;ˆ;ØˆGØð *˜4Ð'=Ð=Ð=Ø˜4‘�Ø�
”
˜a‘�
”
Ø×'Ò'Ñ)Ô)�ð ð *˜4Ð'=Ð=Ð=ð �HŠHÐ?¨GÐ?Ð?Ð?Ñ@Ô@Ð@Ñ@à�SŠ[‰[Ø×(Ò(¨Ñ+Ô+ˆIà˜CÒÐØ�Ø�
”
˜a‘�
”
Ø×'Ò'Ñ)Ô)�Øð .˜t¨<Ð7Ð7Ø˜t‘O�GØ�J”J !‘O�J”JØ×+Ò+Ñ-Ô-�Dð ð .˜t¨<Ð7Ð7ð —’ÐC°ÐCÐCÐCÑDÔDÐDÐDà˜cÒ!Ð!Ø�Ø�
”
˜a‘�
”
ðØ×+Ò+Ñ-Ô-�DØð ØŸšÐ!mÑnÔnÐnØØ˜t‘O�GØ�J”J !‘O�J”JØ×'Ò'¨Ñ-Ô-ð Øðð —’ÐD°ÐDÐDÐDÑEÔEÐEÐEð �
”
˜a‘�
”
ØŒ<Ôð 	Rð ×!Ò!Ñ#Ô#Ð#Ø×ÒÑ!Ô! ZÐ/Ð/ÙØ—?’?Ð:P�?ÑQÔQÐQØØˆ2ó    N)F)
Útypingr   Úutils.constantsr   Úutils.json_contextr   Újson_parserr   Úboolr'   © r(   r&   ú<module>r/      s—   ðØ  Ð  Ð  Ð  Ð  Ð  à +Ð +Ð +Ð +Ð +Ð +Ø -Ð -Ð -Ð -Ð -Ð -àð (Ø'Ð'Ð'Ð'Ð'Ð'ðCð C˜ð C¸dð CÈ~ð Cð Cð Cð Cð Cð Cr(   