+
    i  c                   s    R t ^ RIt^ RIt]P                  tRR lt ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t	 ! R	 R
]P                  4      t
R tR# )zPython 'utf-16' Codec


Written by Marc-Andre Lemburg (mal@lemburg.com).

(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.

Nc                 s0    \         P                  ! WR 4      # )T)codecsZutf_16_decode)inputerrors   &&)/usr/lib64/python3.14/encodings/utf_16.pydecoder      s    t44    c                   sF   a  ] tR t^t o RR ltR	R ltR tR tR tRt	V t
R# )
IncrementalEncoderc                R    \         P                  P                  W4       R V n        R # N)r    r   __init__encoderselfr   r   r   r
   ZIncrementalEncoder.__init__   s    !!**48r   c                s6   V P                   fk   \        P                  ! WP                  4      ^ ,          p\        P
                  R8X  d   \        P                  V n         V# \        P                  V n         V# V P                  WP                  4      ^ ,          # NZlittle)r   r    utf_16_encoder   sys	byteorderutf_16_le_encodeutf_16_be_encode)r   r   finalresult   &&& r   encodeZIncrementalEncoder.encode   sq    <<))%=a@F}}(%66 M  &66M||E;;/22r   c                R    \         P                  P                  V 4       R V n        R # r	   )r    r   resetr   r      &r   r   ZIncrementalEncoder.reset!   s    !!''-r   c                s&    V P                   f   ^# ^ # r	   r   r   r   r   getstateZIncrementalEncoder.getstate%   s    
 \\)1q1r   c                s    V'       d
   R V n         R # \        P                  R8X  d   \        P                  V n         R # \        P
                  V n         R # r   )r   r   r   r    r   r   r   stater   r   setstateZIncrementalEncoder.setstate,   s2    DL}}(%66%66r   r   NZstrict)F)__name__
__module____qualname____firstlineno__r
   r   r   r   r    __static_attributes____classdictcell__Z__classdict__   @r   r   r      s#     327 7r   r   c                   sB   a  ] tR t^5t o RR ltR tR tR tR tRt	V t
R# )	IncrementalDecoderc                r   r	   )r    BufferedIncrementalDecoderr
   decoderr   r   r   r
   ZIncrementalDecoder.__init__6   s    ))224@r   c                s:   V P                   fs   \        P                  ! W^ V4      w  rEpVR8X  d   \        P                  V n         WE3# V^8X  d   \        P                  V n         WE3# V^8  d   \        RV^ ^R4      hWE3# V P                  WP                  V4      # )Nutf-16Stream does not start with BOM)r,   r    utf_16_ex_decodeutf_16_le_decodeutf_16_be_decodeUnicodeDecodeErrorr   )r   r   r   r   Zoutputconsumedr   s   &&&&   r   _buffer_decodeZ!IncrementalDecoder._buffer_decode:   s    <<''q%@ *VyB%66
 %%	 a%66 %% Q(5!Q@`aa%%||E;;66r   c                r   r	   )r    r+   r   r,   r   r   r   r   ZIncrementalDecoder.resetG   s    ))//5r   c                s    \         P                  P                  V 4      ^ ,          pV P                  f   V^3# \	        \
        P                  R8H  V P                  \         P                  J 8g  4      pW3# )    big)r    r+   r   r,   Zintr   r   r2   )r   r   Zaddstates   &  r   r   ZIncrementalDecoder.getstateK   sl     11::4@C
 <<1:.(?(??A B  r   c                sp   \         P                  P                  W4       V^,          pV^ 8X  d=   \        P                  R8X  d   \         P
                  M\         P                  V n        R# V^8X  d=   \        P                  R8X  d   \         P                  M\         P
                  V n        R# RV n        R# )i   r7   N)r    r+   r    r   r   r2   r1   r,   r   r   r   r    ZIncrementalDecoder.setstateY   s    ))224?aA:"}}5 #33!'!8!8 L aZ"}}5 #33!'!8!8 L  DLr   )r,   Nr!   )r"   r#   r$   r%   r
   r5   r   r   r    r&   r'   r(   r)   r   r*   r*   5   s#     7!   r   r*   c                   s:   a  ] tR t^ht o RR ltR tRR ltRtV tR# )StreamWriterc                sT    \         P                  P                  WV4       R V n        R # r	   )r    r8   r
   r   )r   Zstreamr   s   &&&r   r
   ZStreamWriter.__init__i   s    $$T6:r   c                r   r	   )r    r8   r   r   r   r   r   r   ZStreamWriter.resetm   s    !!$'r   c                s    V P                   fZ   \        P                  ! W4      p\        P                  R8X  d   \        P
                  V n         V# \        P                  V n         V# V P                  W4      # r   )r   r    r   r   r   r   r   )r   r   r   r   r   r   r   ZStreamWriter.encodeq   s_    <<))%8F}}(%66 M  &66M<<..r   r   Nr!   )	r"   r#   r$   r%   r
   r   r   r&   r'   r(   r)   r   r8   r8   h   s     	/ 	/r   r8   c                   s0   a  ] tR t^|t o R tRR ltRtV tR# )StreamReaderc                sn    \         P                  P                  V 4        V =R #   \         d     R # i ; ir	   )r    r9   r   r   ZAttributeErrorr   r   r   r   ZStreamReader.reset~   s2    !!$'	 		s   % 44c                s    \         P                  ! W^ R4      w  r4pVR8X  d   \         P                  V n        W43# V^8X  d   \         P                  V n        W43# V^8  d   \        RV^ ^R4      hW43# )r6   Fr-   r.   r/   )r    r0   r1   r   r2   r3   )r   r   r   Zobjectr4   r   s   &&&   r   r   ZStreamReader.decode   s    ##E1e< 	&9? 11DK
 !!	 !^ 11DK !! q[$Xua<\]]!!r   )r   Nr!   )r"   r#   r$   r%   r   r   r&   r'   r(   r)   r   r9   r9   |   s     	" 	"r   r9   c            
      sl    \         P                  ! R \        \        \        \
        \        \        R7      # )r-   )Znamer   r   ZincrementalencoderZincrementaldecoderZstreamreaderZstreamwriter)r    Z	CodecInfor   r   r   r*   r9   r8    r   r   getregentryr;      s*    --!! r   r!   )Z__doc__r    r   r   r   r   r   r+   r*   r8   r9   r;   r:   r   r   <module>r<      sp     
		5!722 !7F1 :: 1 f/6&& /("6&& ",	r   