§
    |Øjè  ã                  óp   — U d Z ddlmZ ddlmZ ddlmZ dZded<    e	dd	h¦  «        Z
d
ed<   ddœdd„ZdS )z*Stage 1a: BOM (Byte Order Mark) detection.é    )Úannotations)Údecodes_without_error)ÚDetectionResult)	)ó     þÿúutf-32)ó   ÿþ  r   )s   ï»¿ú	utf-8-sig)s   þÿúutf-16)s   ÿþr
   )s   +/v8úutf-7)s   +/v9r   )s   +/v+r   )s   +/v/r   ztuple[tuple[bytes, str], ...]Ú_BOMSr   r   zfrozenset[bytes]Ú_UTF32_BOMSF)Úinput_truncatedÚdataÚbytesr   ÚboolÚreturnúDetectionResult | Nonec               ó¦  — t           D ]È\  }}|                      |¦  «        r®|t          v r+t          | ¦  «        t          |¦  «        z
  }|dz  dk    r|sŒN|dk    o(| t          |¦  «        d…                              ¦   «         }|s5t          | |¦  «        s%|r |t          v rt          | ¦  «        dz  dk    rŒ± dS t          |dd¬¦  «        c S ŒÉdS )a  Check for a byte order mark at the start of *data*.

    :param data: The raw byte data to examine.
    :param input_truncated: Whether the examination window ends before the input.
    :returns: A :class:`DetectionResult` with confidence 1.0, or ``None``.
    é   r   r	   Ng      ð?)ÚencodingÚ
confidenceÚlanguage)r   Ú
startswithr   ÚlenÚisasciir   r   )r   r   Ú	bom_bytesr   Úpayload_lenÚbody_is_asciis         ú‰/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/chardet/pipeline/bom.pyÚ
detect_bomr    !   s  € õ  %ð Uð UÑˆ	�8Ø�?Š?˜9Ñ%Ô%ð 	Uð �KÐ'Ð'Ý! $™iœi­#¨i©.¬.Ñ8�Ø ‘? aÒ'Ð'°Ð'Øð %¨Ò3ÐX¸½SÀ¹^¼^Ð=MÐ=MÔ8N×8VÒ8VÑ8XÔ8XˆMØ ð Õ)>¸tÀXÑ)NÔ)Nð ð #ð  yµKÐ'?Ð'?ÅCÈÁIÄIÐPQÁMÐUVÒDVÐDVØØ�t�tÝ"¨HÀÈtÐTÑTÔTÐTÐTÐTð5	Uð6 ˆ4ó    N)r   r   r   r   r   r   )Ú__doc__Ú
__future__r   Úchardet._utilsr   Úchardet.pipeliner   r   Ú__annotations__Ú	frozensetr   r    © r!   r   ú<module>r)      s°   ðØ 0Ð 0Ð 0à "Ð "Ð "Ð "Ð "Ð "à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ð
(€ð ð ð ñ ð& !* 	Ð+>Ð@SÐ*TÑ UÔ U€Ð UÐ UÐ UÑ Uð 8=ð #ð #ð #ð #ð #ð #ð #ð #r!   