Ñò
#8Zc           @   s›   d  Z  d d k Z d d „ Z d d „ Z d e i f d „  ƒ  YZ d e i f d	 „  ƒ  YZ d
 e i f d „  ƒ  YZ d e i f d „  ƒ  YZ d „  Z	 d S(   s   Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:

* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
  first three bytes.

* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
  bytes will be skipped.
iÿÿÿÿNt   strictc         C   s'   t  i t  i |  | ƒ d t |  ƒ f S(   Ni    (   t   codecst   BOM_UTF8t   utf_8_encodet   len(   t   inputt   errors(    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   encode   s    c         C   sW   d } |  d  t  i j o |  d }  d } n t  i |  | t ƒ \ } } | | | f S(   Ni    i   (   R   R   t   utf_8_decodet   True(   R   R   t   prefixt   outputt   consumed(    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   decode   s    

t   IncrementalEncoderc           B   s;   e  Z d  d „ Z e d „ Z d „  Z d „  Z d „  Z RS(   R    c         C   s    t  i i |  | ƒ d |  _ d  S(   Ni   (   R   R   t   __init__t   first(   t   selfR   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR      s    c         C   sM   |  i  o( d |  _  t i t i | |  i ƒ d St i | |  i ƒ d Sd  S(   Ni    (   R   R   R   R   R   (   R   R   t   final(    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR      s    
	c         C   s   t  i i |  ƒ d |  _ d  S(   Ni   (   R   R   t   resetR   (   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   %   s    c         C   s   |  i  S(   N(   R   (   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   getstate)   s    c         C   s   | |  _  d  S(   N(   R   (   R   t   state(    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   setstate,   s    (   t   __name__t
   __module__R   t   FalseR   R   R   R   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR      s
   		t   IncrementalDecoderc           B   s&   e  Z d  d „ Z d „  Z d „  Z RS(   R    c         C   s    t  i i |  | ƒ t |  _ d  S(   N(   R   t   BufferedIncrementalDecoderR   R	   R   (   R   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   0   s    c         C   s¤   |  i  o‡ t | ƒ d j  o% t i i | ƒ o d Sd  |  _  q‘ d  |  _  | d  t i j o. t i | d | | ƒ \ } } | | d f Sn t i | | | ƒ S(   Ni   u    i    (   u    i    (   R   R   R   R   t
   startswitht   NoneR   (   R   R   R   R   R   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   _buffer_decode4   s    
	c         C   s   t  i i |  ƒ t |  _ d  S(   N(   R   R   R   R	   R   (   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   D   s    (   R   R   R   R   R   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   /   s   	t   StreamWriterc           B   s   e  Z d  „  Z d d „ Z RS(   c         C   s4   t  i i |  ƒ y
 |  ` Wn t j
 o n Xd  S(   N(   R   R   R   R   t   AttributeError(   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   I   s
    
R    c         C   s   t  i |  _ t | | ƒ S(   N(   R   R   R   (   R   R   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   P   s    (   R   R   R   R   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   H   s   	t   StreamReaderc           B   s   e  Z d  „  Z d d „ Z RS(   c         C   s4   t  i i |  ƒ y
 |  ` Wn t j
 o n Xd  S(   N(   R   R!   R   R   R    (   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   U   s
    
R    c         C   s–   t  | ƒ d j  o t i i | ƒ o d SnL | d  t i j o7 t i |  _ t i | d | ƒ \ } } | | d f St i |  _ t i | | ƒ S(   Ni   u    i    (   u    i    (   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR   \   s    	(   R   R   R   R   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyR!   T   s   	c           C   s4   t  i d d d t d t d t d t d t d t ƒ S(	   Nt   names	   utf-8-sigR   R   t   incrementalencodert   incrementaldecodert   streamreadert   streamwriter(   R   t	   CodecInfoR   R   R   R   R!   R   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   getregentryl   s    	(
   t   __doc__R   R   R   R   R   R   R   R!   R(   (    (    (    s)   /usr/lib/python2.6/encodings/utf_8_sig.pyt   <module>	   s   