???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
abc           @` s  d  d l  m Z m Z m Z d  d l m Z m Z m Z d  d l Z y d  d l	 m
 Z
 Wn! e k
 r{ d  d l m
 Z
 n Xd d l m Z d d l m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z! m" Z" m# Z# m$ Z$ m% Z% d e& d  Z' d d e& d  Z( d   Z) d e* f d     YZ+ e j, d    Z- d   Z. d e/ e0 d  Z1 d e2 f d     YZ3 d S(   i    (   t   absolute_importt   divisiont   unicode_literals(   t   with_metaclasst   viewkeyst   PY3N(   t   OrderedDicti   (   t   _inputstream(   t
   _tokenizer(   t   treebuilders(   t   Marker(   t   _utils(   t   spaceCharacterst   asciiUpper2Lowert   specialElementst   headingElementst   cdataElementst   rcdataElementst
   tokenTypest   tagTokenTypest
   namespacest   htmlIntegrationPointElementst"   mathmlTextIntegrationPointElementst   adjustForeignAttributest   adjustMathMLAttributest   adjustSVGAttributest   Et   ReparseExceptionu   etreec         K` s1   t  j |  } t | d | } | j |  |  S(   u.   Parse a string or file-like object into a treet   namespaceHTMLElements(   R	   t   getTreeBuildert
   HTMLParsert   parse(   t   doct   treebuilderR   t   kwargst   tbt   p(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR      s    u   divc         K` s7   t  j |  } t | d | } | j |  d | | S(   NR   t	   container(   R	   R   R   t   parseFragment(   R    R%   R!   R   R"   R#   R$   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR&   &   s    c         ` s    d t  f   f d     Y} | S(   Nt	   Decoratedc           ` s   e  Z   f d    Z RS(   c         ` s^   xE | j    D]7 \ } } t | t j  r:   |  } n  | | | <q Wt j |  | | |  S(   N(   t   itemst
   isinstancet   typest   FunctionTypet   typet   __new__(   t   metat	   classnamet   basest	   classDictt   attributeNamet	   attribute(   t   function(    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR-   .   s
    (   t   __name__t
   __module__R-   (    (   R4   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR'   -   s   (   R,   (   R4   R'   (    (   R4   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   method_decorator_metaclass,   s    R   c           B` s   e  Z d  Z d e e e d  Z e d e d  Z d   Z e	 d    Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   uZ   HTML parser. Generates a tree structure from a stream of (possibly
        malformed) HTMLc         C` s   | |  _  | d k r' t j d  } n  | |  |  _ g  |  _ t g  t |  j   D]$ \ } } | | |  |  j  f ^ qU  |  _	 d S(   u  
        strict - raise an exception when a parse error is encountered

        tree - a treebuilder class controlling the type of tree that will be
        returned. Built in treebuilders can be accessed through
        html5lib.treebuilders.getTreeBuilder(treeType)
        u   etreeN(
   t   strictt   NoneR	   R   t   treet   errorst   dictt	   getPhasesR(   t   phases(   t   selfR:   R8   R   t   debugt   namet   cls(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   __init__<   s    
		u   divc         K` sz   | |  _  | |  _ | |  _ t j | d |  | |  _ |  j   y |  j   Wn% t k
 ru |  j   |  j   n Xd  S(   Nt   parser(	   t   innerHTMLModeR%   t	   scriptingR   t   HTMLTokenizert	   tokenizert   resett   mainLoopR   (   R?   t   streamt	   innerHTMLR%   RF   R"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   _parseP   s    			

c         C` s  |  j  j   t |  _ g  |  _ g  |  _ d |  _ |  j r |  j j	   |  _
 |  j
 t k rp |  j j |  j _ nH |  j
 t k r |  j j |  j _ n$ |  j
 d k r |  j j |  j _ n  |  j d |  _ |  j j   |  j   n t |  _
 |  j d |  _ d  |  _ d  |  _ t |  _ d  S(   Nu	   no quirksu	   plaintextu
   beforeHtmlu   initial(   R:   RI   t   Falset   firstStartTagR;   t   logt
   compatModeRE   R%   t   lowerRL   R   RH   t   rcdataStatet   stateR   t   rawtextStatet   plaintextStateR>   t   phaset   insertHtmlElementt   resetInsertionModeR9   t	   lastPhaset   beforeRCDataPhaset   Truet
   framesetOK(   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRI   ^   s*    								c         C` s'   t  |  d  s d S|  j j j d j S(   u   The name of the character encoding
        that was used to decode the input stream,
        or :obj:`None` if that is not determined yet.

        u	   tokenizeri    N(   t   hasattrR9   RH   RK   t   charEncodingRA   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   documentEncoding   s    c         C` se   | j  d k rK | j t d k rK d | j k oJ | j d j t  d k S| j | j  f t k Sd  S(   Nu   annotation-xmlu   mathmlu   encodingu	   text/htmlu   application/xhtml+xml(   u	   text/htmlu   application/xhtml+xml(   RA   t	   namespaceR   t
   attributest	   translateR   R   (   R?   t   element(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isHTMLIntegrationPoint   s    c         C` s   | j  | j f t k S(   N(   Ra   RA   R   (   R?   Rd   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isMathMLTextIntegrationPoint   s    c         C` sB  t  d } t  d } t  d } t  d } t  d } t  d } t  d } x|  j   D]} d  }	 | }
 x=|
 d  k	 r|
 }	 |  j j r |  j j d n d  } | r | j n d  } | r | j n d  } |
 d	 } | | k r|  j |
 d
 |
 j d i    d  }
 qh t	 |  j j  d k s| |  j j
 k s|  j |  rx| | k rf| d t d d g  k s| | | f k s| t d k r| d k r| | k r| d d k s|  j |  r| | | | f k r|  j } n |  j d } | | k r| j |
  }
 qh | | k r)| j |
  }
 qh | | k rG| j |
  }
 qh | | k re| j |
  }
 qh | | k r| j |
  }
 qh | | k rh | j |
  }
 qh qh W| | k rS |	 d rS |	 d rS |  j d i |	 d d 6 qS qS Wt } g  } xG | r=| j |  j  |  j j   } | r|  j | k s:t  qqWd  S(   Nu
   Charactersu   SpaceCharactersu   StartTagu   EndTagu   Commentu   Doctypeu
   ParseErroriu   typeu   datau   datavarsi    u   nameu   mglyphu
   malignmarku   mathmlu   annotation-xmlu   svgu   inForeignContentu   selfClosingu   selfClosingAcknowledgedu&   non-void-element-with-trailing-solidus(   R   t   normalizedTokensR9   R:   t   openElementsRa   RA   t
   parseErrort   gett   lent   defaultNamespaceRf   t	   frozensetR   Re   RW   R>   t   processCharacterst   processSpaceCharacterst   processStartTagt   processEndTagt   processCommentt   processDoctypeR\   t   appendt
   processEOFt   AssertionError(   R?   t   CharactersTokent   SpaceCharactersTokent   StartTagTokent   EndTagTokent   CommentTokent   DoctypeTokent   ParseErrorTokent   tokent
   prev_tokent	   new_tokent   currentNodet   currentNodeNamespacet   currentNodeNameR,   RW   t	   reprocessR>   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRJ      sp    






"
 			c         c` s&   x |  j  D] } |  j |  Vq
 Wd  S(   N(   RH   t   normalizeToken(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRg      s    c         O` s&   |  j  | t d | |  |  j j   S(   u  Parse a HTML document into a well-formed tree

        stream - a filelike object or string containing the HTML to be parsed

        The optional encoding parameter must be a string that indicates
        the encoding.  If specified, that encoding will be used,
        regardless of any BOM or later declaration (such as in a meta
        element)

        scripting - treat noscript elements as if javascript was turned on
        N(   RM   RN   R9   R:   t   getDocument(   R?   RK   t   argsR"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR      s    c         O` s#   |  j  | t | |  |  j j   S(   u2  Parse a HTML fragment into a well-formed tree fragment

        container - name of the element we're setting the innerHTML property
        if set to None, default to 'div'

        stream - a filelike object or string containing the HTML to be parsed

        The optional encoding parameter must be a string that indicates
        the encoding.  If specified, that encoding will be used,
        regardless of any BOM or later declaration (such as in a meta
        element)

        scripting - treat noscript elements as if javascript was turned on
        (   RM   R\   R:   t   getFragment(   R?   RK   R   R"   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR&      s    u   XXX-undefined-errorc         C` s^   | d  k r i  } n  |  j j |  j j j   | | f  |  j rZ t t | |   n  d  S(   N(	   R9   R;   Rt   RH   RK   t   positionR8   t
   ParseErrorR   (   R?   t	   errorcodet   datavars(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRi      s
    	%	c         C` sr   | d t  d k rn | d } t |  | d <t |  t | d  k rn | d j | d d d   qn n  | S(   u3    HTML5 specific normalizations to the token stream u   typeu   StartTagu   dataNi(   R   R   Rk   t   update(   R?   R~   t   raw(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
$c         C` s   t  | t  d  S(   N(   t   adjust_attributesR   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   t  | t  d  S(   N(   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   t  | t  d  S(   N(   R   t   adjustForeignAttributesMap(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         C` s   |  j  j   d  S(   N(   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   reparseTokenNormal  s    c         C` s]  t  } i d d 6d d 6d d 6d d 6d d	 6d d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6} x |  j j d  d  d  D] } | j } d  } | |  j j d k r |  j s t  t } |  j } n  | d k r |  j s t  n  | r| j |  j j	 k rq n  | | k r5|  j
 | | } Pq | r |  j
 d } Pq q W| |  _ d  S(   Nu   inSelectu   selectu   inCellu   tdu   thu   inRowu   tru   inTableBodyu   tbodyu   theadu   tfootu	   inCaptionu   captionu   inColumnGroupu   colgroupu   inTableu   tableu   inBodyu   headu   bodyu
   inFramesetu   framesetu
   beforeHeadu   htmlii    (   u   selectu   colgroupu   headu   html(   RN   R:   Rh   RA   R9   RL   Rv   R\   Ra   Rl   R>   RW   (   R?   t   lastt   newModest   nodet   nodeNamet	   new_phase(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRY   !  sD    
 	c         C` su   | d k s t   |  j j |  | d k rC |  j j |  j _ n |  j j |  j _ |  j |  _ |  j	 d |  _ d S(   uY   Generic RCDATA/RAWTEXT Parsing algorithm
        contentType - RCDATA or RAWTEXT
        u   RAWTEXTu   RCDATAu   textN(   u   RAWTEXTu   RCDATA(
   Rv   R:   t   insertElementRH   RU   RT   RS   RW   t   originalPhaseR>   (   R?   R~   t   contentType(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   parseRCDataRawtextM  s    N(   R5   R6   t   __doc__R9   RN   R\   RC   RM   RI   t   propertyR`   Re   Rf   RJ   Rg   R   R&   Ri   R   R   R   R   R   RY   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   8   s&   	"	
		C									,c         ` sT  d   } d   } d t  | |  |   f d     Y  d   f d     Y} d   f d     Y} d	   f   f d
     Y} d   f   f d     Y} d   f   f d     Y} d   f   f d     Y} d   f   f d     Y}	 d   f   f d     Y}
 d   f   f d     Y} d   f   f d     Y} d   f   f d     Y} d   f   f d     Y} d   f   f d     Y} d   f   f d      Y} d!   f   f d"     Y} d#   f   f d$     Y} d%   f   f d&     Y} d'   f   f d(     Y} d)   f   f d*     Y} d+   f   f d,     Y} d-   f   f d.     Y} d/   f   f d0     Y} d1   f   f d2     Y} i | d3 6| d4 6| d5 6| d6 6| d7 6| d8 6|	 d9 6|
 d: 6| d; 6| d< 6| d= 6| d> 6| d? 6| d@ 6| dA 6| dB 6| dC 6| dD 6| dE 6| dF 6| dG 6| dH 6| dI 6S(J   Nc         ` s2   t  d   t j   D      f d   } | S(   u4   Logger that records which phase processes each tokenc         s` s!   |  ] \ } } | | f Vq d  S(   N(    (   t   .0t   keyt   value(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>c  s    c         ` s     j  j d  r t |  d k r | d } y i  | d d 6} Wn
   n X| d t k ru | d | d <n  |  j j j |  j j j j  |  j j	 j
 j  |  j
 j    j  | f    |  | |  S  |  | |  Sd  S(   Nu   processi    u   typeu   name(   R5   t
   startswithRk   R   RD   RP   Rt   RH   RT   RW   t	   __class__(   R?   R   R"   R~   t   info(   R4   t
   type_names(    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   wrappedf  s    $
	
(   R<   R   R(   (   R4   R   (    (   R4   R   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP   a  s    	c         S` s   |  r t  |  St Sd  S(   N(   R7   R,   (   t   use_metaclasst   metaclass_func(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   getMetaclassz  s    
t   Phasec           B` s_   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   uN   Base class for helper object that implements each phase of processing
        c         S` s   | |  _  | |  _ d  S(   N(   RD   R:   (   R?   RD   R:   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s    	c         S` s
   t   d  S(   N(   t   NotImplementedError(   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    c         S` s!   |  j  j | |  j  j d  d  S(   Ni(   R:   t   insertCommentRh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr     s    c         S` s   |  j  j d  d  S(   Nu   unexpected-doctype(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRs     s    c         S` s   |  j  j | d  d  S(   Nu   data(   R:   t
   insertText(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s   |  j  j | d  d  S(   Nu   data(   R:   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` s   |  j  | d |  S(   Nu   name(   t   startTagHandler(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp     s    c         S` s   |  j  j r0 | d d k r0 |  j  j d  n  xQ | d j   D]? \ } } | |  j j d j k rA | |  j j d j | <qA qA Wt |  j  _ d  S(   Nu   nameu   htmlu   non-html-rootu   datai    (   RD   RO   Ri   R(   R:   Rh   Rb   RN   (   R?   R~   t   attrR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   startTagHtml  s    c         S` s   |  j  | d |  S(   Nu   name(   t   endTagHandler(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq     s    (   R5   R6   R   RC   Ru   Rr   Rs   Rn   Ro   Rp   R   Rq   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s   								
t   InitialPhasec           B` sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` s   |  j  j | |  j  j  d  S(   N(   R:   R   t   document(   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr     s    c      8   S` su  | d } | d } | d } | d } | d k sX | d  k	 sX | d  k	 rk | d k rk |  j j d  n  | d  k r d } n  |  j j |  | d k r | j t  } n  | s| d d k s| j dJ  s| dK k s| j dL  r | d  k s| r"| j   dD k r"dE |  j _	 n9 | j dM  sL| j dN  r[| d  k	 r[dH |  j _	 n  |  j j
 dI |  j _ d  S(O   Nu   nameu   publicIdu   systemIdu   correctu   htmlu   about:legacy-compatu   unknown-doctypeu    u*   +//silmaril//dtd html pro v0r11 19970101//u4   -//advasoft ltd//dtd html 3.0 aswedit + extensions//u*   -//as//dtd html 3.0 aswedit + extensions//u   -//ietf//dtd html 2.0 level 1//u   -//ietf//dtd html 2.0 level 2//u&   -//ietf//dtd html 2.0 strict level 1//u&   -//ietf//dtd html 2.0 strict level 2//u   -//ietf//dtd html 2.0 strict//u   -//ietf//dtd html 2.0//u   -//ietf//dtd html 2.1e//u   -//ietf//dtd html 3.0//u   -//ietf//dtd html 3.2 final//u   -//ietf//dtd html 3.2//u   -//ietf//dtd html 3//u   -//ietf//dtd html level 0//u   -//ietf//dtd html level 1//u   -//ietf//dtd html level 2//u   -//ietf//dtd html level 3//u"   -//ietf//dtd html strict level 0//u"   -//ietf//dtd html strict level 1//u"   -//ietf//dtd html strict level 2//u"   -//ietf//dtd html strict level 3//u   -//ietf//dtd html strict//u   -//ietf//dtd html//u(   -//metrius//dtd metrius presentational//u5   -//microsoft//dtd internet explorer 2.0 html strict//u.   -//microsoft//dtd internet explorer 2.0 html//u0   -//microsoft//dtd internet explorer 2.0 tables//u5   -//microsoft//dtd internet explorer 3.0 html strict//u.   -//microsoft//dtd internet explorer 3.0 html//u0   -//microsoft//dtd internet explorer 3.0 tables//u#   -//netscape comm. corp.//dtd html//u*   -//netscape comm. corp.//dtd strict html//u*   -//o'reilly and associates//dtd html 2.0//u3   -//o'reilly and associates//dtd html extended 1.0//u;   -//o'reilly and associates//dtd html extended relaxed 1.0//uN   -//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//uE   -//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//u$   -//spyglass//dtd html 2.0 extended//u+   -//sq//dtd html 2.0 hotmetal + extensions//u-   -//sun microsystems corp.//dtd hotjava html//u4   -//sun microsystems corp.//dtd hotjava strict html//u   -//w3c//dtd html 3 1995-03-24//u   -//w3c//dtd html 3.2 draft//u   -//w3c//dtd html 3.2 final//u   -//w3c//dtd html 3.2//u   -//w3c//dtd html 3.2s draft//u   -//w3c//dtd html 4.0 frameset//u#   -//w3c//dtd html 4.0 transitional//u(   -//w3c//dtd html experimental 19960712//u&   -//w3c//dtd html experimental 970421//u   -//w3c//dtd w3 html//u   -//w3o//dtd w3 html 3.0//u#   -//webtechs//dtd mozilla html 2.0//u   -//webtechs//dtd mozilla html//u$   -//w3o//dtd w3 html strict 3.0//en//u"   -/w3c/dtd html 4.0 transitional/enu    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//u:   http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtdu   quirksu    -//w3c//dtd xhtml 1.0 frameset//u$   -//w3c//dtd xhtml 1.0 transitional//u   limited quirksu
   beforeHtml(7   u*   +//silmaril//dtd html pro v0r11 19970101//u4   -//advasoft ltd//dtd html 3.0 aswedit + extensions//u*   -//as//dtd html 3.0 aswedit + extensions//u   -//ietf//dtd html 2.0 level 1//u   -//ietf//dtd html 2.0 level 2//u&   -//ietf//dtd html 2.0 strict level 1//u&   -//ietf//dtd html 2.0 strict level 2//u   -//ietf//dtd html 2.0 strict//u   -//ietf//dtd html 2.0//u   -//ietf//dtd html 2.1e//u   -//ietf//dtd html 3.0//u   -//ietf//dtd html 3.2 final//u   -//ietf//dtd html 3.2//u   -//ietf//dtd html 3//u   -//ietf//dtd html level 0//u   -//ietf//dtd html level 1//u   -//ietf//dtd html level 2//u   -//ietf//dtd html level 3//u"   -//ietf//dtd html strict level 0//u"   -//ietf//dtd html strict level 1//u"   -//ietf//dtd html strict level 2//u"   -//ietf//dtd html strict level 3//u   -//ietf//dtd html strict//u   -//ietf//dtd html//u(   -//metrius//dtd metrius presentational//u5   -//microsoft//dtd internet explorer 2.0 html strict//u.   -//microsoft//dtd internet explorer 2.0 html//u0   -//microsoft//dtd internet explorer 2.0 tables//u5   -//microsoft//dtd internet explorer 3.0 html strict//u.   -//microsoft//dtd internet explorer 3.0 html//u0   -//microsoft//dtd internet explorer 3.0 tables//u#   -//netscape comm. corp.//dtd html//u*   -//netscape comm. corp.//dtd strict html//u*   -//o'reilly and associates//dtd html 2.0//u3   -//o'reilly and associates//dtd html extended 1.0//u;   -//o'reilly and associates//dtd html extended relaxed 1.0//uN   -//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//uE   -//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//u$   -//spyglass//dtd html 2.0 extended//u+   -//sq//dtd html 2.0 hotmetal + extensions//u-   -//sun microsystems corp.//dtd hotjava html//u4   -//sun microsystems corp.//dtd hotjava strict html//u   -//w3c//dtd html 3 1995-03-24//u   -//w3c//dtd html 3.2 draft//u   -//w3c//dtd html 3.2 final//u   -//w3c//dtd html 3.2//u   -//w3c//dtd html 3.2s draft//u   -//w3c//dtd html 4.0 frameset//u#   -//w3c//dtd html 4.0 transitional//u(   -//w3c//dtd html experimental 19960712//u&   -//w3c//dtd html experimental 970421//u   -//w3c//dtd w3 html//u   -//w3o//dtd w3 html 3.0//u#   -//webtechs//dtd mozilla html 2.0//u   -//webtechs//dtd mozilla html//(   u$   -//w3o//dtd w3 html strict 3.0//en//u"   -/w3c/dtd html 4.0 transitional/enu   html(   u    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//(   u    -//w3c//dtd xhtml 1.0 frameset//u$   -//w3c//dtd xhtml 1.0 transitional//(   u    -//w3c//dtd html 4.01 frameset//u$   -//w3c//dtd html 4.01 transitional//(   R9   RD   Ri   R:   t   insertDoctypeRc   R   R   RR   RQ   R>   RW   (   R?   R~   RA   t   publicIdt   systemIdt   correct(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRs     s    



	                                                      	 	 	 	 	c         S` s&   d |  j  _ |  j  j d |  j  _ d  S(   Nu   quirksu
   beforeHtml(   RD   RQ   R>   RW   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   anythingElse  s    c         S` s   |  j  j d  |  j   | S(   Nu   expected-doctype-but-got-chars(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    
c         S` s,   |  j  j d i | d d 6 |  j   | S(   Nu"   expected-doctype-but-got-start-tagu   name(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp     s    
c         S` s,   |  j  j d i | d d 6 |  j   | S(   Nu    expected-doctype-but-got-end-tagu   name(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq     s    
c         S` s   |  j  j d  |  j   t S(   Nu   expected-doctype-but-got-eof(   RD   Ri   R   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   %  s    
(
   R5   R6   Ro   Rr   Rs   R   Rn   Rp   Rq   Ru   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s   			_				t   BeforeHtmlPhasec           B` sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         S` s3   |  j  j t d d   |  j j d |  j _ d  S(   Nu   htmlu   StartTagu
   beforeHead(   R:   t
   insertRoott   impliedTagTokenRD   R>   RW   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRX   ,  s    c         S` s   |  j    t S(   N(   RX   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   1  s    
c         S` s   |  j  j | |  j  j  d  S(   N(   R:   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   5  s    c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   8  s    c         S` s   |  j    | S(   N(   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   ;  s    
c         S` s-   | d d k r t  |  j _ n  |  j   | S(   Nu   nameu   html(   R\   RD   RO   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp   ?  s    
c         S` sC   | d d k r1 |  j  j d i | d d 6 n |  j   | Sd  S(   Nu   nameu   headu   bodyu   htmlu   bru   unexpected-end-tag-before-html(   u   headu   bodyu   htmlu   br(   RD   Ri   RX   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   E  s
    
(	   R5   R6   RX   Ru   Rr   Ro   Rn   Rp   Rq   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   *  s   						t   BeforeHeadPhasec           ` s_   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         ` s}     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ t j d |  j f g  |  _	 |  j
 |  j	 _ d  S(   Nu   htmlu   headu   bodyu   br(   u   headu   bodyu   htmlu   br(   RC   R   t   MethodDispatcherR   t   startTagHeadR   t   startTagOthert   defaultt   endTagImplyHeadR   t   endTagOther(   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   N  s    c         S` s   |  j  t d d   t S(   Nu   headu   StartTag(   R   R   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   \  s    c         S` s   d  S(   N(    (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   `  s    c         S` s   |  j  t d d   | S(   Nu   headu   StartTag(   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   c  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   g  s    c         S` s@   |  j  j |  |  j  j d |  j  _ |  j j d |  j _ d  S(   Niu   inHead(   R:   R   Rh   t   headPointerRD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   j  s    c         S` s   |  j  t d d   | S(   Nu   headu   StartTag(   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   o  s    c         S` s   |  j  t d d   | S(   Nu   headu   StartTag(   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   s  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   end-tag-after-implied-rootu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   w  s    (   R5   R6   RC   Ru   Ro   Rn   R   R   R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   M  s   							t   InHeadPhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f d |  j f d |  j f d |  j	 f d |  j
 f g  |  _ |  j |  j _ t j d |  j f d |  j f g  |  _ |  j |  j _ d  S(   Nu   htmlu   titleu   noframesu   styleu   noscriptu   scriptu   baseu   basefontu   bgsoundu   commandu   linku   metau   headu   bru   body(   u   noframesu   style(   u   baseu   basefontu   bgsoundu   commandu   link(   u   bru   htmlu   body(   RC   R   R   R   t   startTagTitlet   startTagNoFramesStylet   startTagNoscriptt   startTagScriptt   startTagBaseLinkCommandt   startTagMetaR   R   R   R   t
   endTagHeadt   endTagHtmlBodyBrR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   |  s     	c         S` s   |  j    t S(   N(   R   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    
c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    
c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d  d  S(   Nu!   two-heads-are-not-better-than-one(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s.   |  j  j |  |  j  j j   t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R   Rh   t   popR\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j |  |  j  j j   t | d <| d } |  j j j j d d k r d | k ry |  j j j j	 | d  q d | k r d | k r | d j
   d k r t j | d j d	   } t j |  } | j   } |  j j j j	 |  q n  d  S(
   Nu   selfClosingAcknowledgedu   datai   u	   tentativeu   charsetu   contentu
   http-equivu   content-typeu   utf-8(   R:   R   Rh   R   R\   RD   RH   RK   R_   t   changeEncodingRR   R   t   EncodingBytest   encodet   ContentAttrParserR   (   R?   R~   Rb   t   dataRD   t   codec(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    

c         S` s   |  j  j | d  d  S(   Nu   RCDATA(   RD   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j | d  d  S(   Nu   RAWTEXT(   RD   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sL   |  j  j r" |  j  j | d  n& |  j j |  |  j  j d |  j  _ d  S(   Nu   RAWTEXTu   inHeadNoscript(   RD   RF   R   R:   R   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sT   |  j  j |  |  j j j |  j j _ |  j j |  j _ |  j j d |  j _ d  S(   Nu   text(	   R:   R   RD   RH   t   scriptDataStateRT   RW   R   R>   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` sQ   |  j  j j j   } | j d k s7 t d | j   |  j  j d |  j  _ d  S(   Nu   headu   Expected head got %su	   afterHead(   RD   R:   Rh   R   RA   Rv   R>   RW   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    "c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  t d   d  S(   Nu   head(   R   R   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   Ru   Rn   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   {  s    														t   InHeadNoscriptPhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f g  |  _ |  j |  j _ t j d	 |  j	 f d
 |  j
 f g  |  _ |  j |  j _ d  S(   Nu   htmlu   basefontu   bgsoundu   linku   metau   noframesu   styleu   headu   noscriptu   br(   u   basefontu   bgsoundu   linku   metau   noframesu   style(   u   headu   noscript(   RC   R   R   R   R   t   startTagHeadNoscriptR   R   R   t   endTagNoscriptt   endTagBrR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s    c         S` s   |  j  j d  |  j   t S(   Nu   eof-in-head-noscript(   RD   Ri   R   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    
c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rr   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr     s    c         S` s   |  j  j d  |  j   | S(   Nu   char-in-head-noscript(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    
c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo      s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s,   |  j  j d i | d d 6 |  j   | S(   Nu   unexpected-inhead-noscript-tagu   name(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` sQ   |  j  j j j   } | j d k s7 t d | j   |  j  j d |  j  _ d  S(   Nu   noscriptu   Expected noscript got %su   inHead(   RD   R:   Rh   R   RA   Rv   R>   RW   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    "c         S` s,   |  j  j d i | d d 6 |  j   | S(   Nu   unexpected-inhead-noscript-tagu   name(   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  t d   d  S(   Nu   noscript(   R   R   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   Ru   Rr   Rn   Ro   R   R   R   R   R   R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s   											t   AfterHeadPhasec           ` sz   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f d |  j f g  |  _ |  j	 |  j _
 t j d |  j f g  |  _ |  j |  j _
 d  S(   Nu   htmlu   bodyu   framesetu   baseu   basefontu   bgsoundu   linku   metau   noframesu   scriptu   styleu   titleu   headu   br(	   u   baseu   basefontu   bgsoundu   linku   metau   noframesu   scriptu   styleu   title(   u   bodyu   htmlu   br(   RC   R   R   R   t   startTagBodyt   startTagFramesett   startTagFromHeadR   R   R   R   R   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   #  s     		c         S` s   |  j    t S(   N(   R   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   4  s    
c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   8  s    
c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   <  s    c         S` s6   t  |  j _ |  j j |  |  j j d |  j _ d  S(   Nu   inBody(   RN   RD   R]   R:   R   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   ?  s    c         S` s*   |  j  j |  |  j j d |  j _ d  S(   Nu
   inFrameset(   R:   R   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   D  s    c         S` s   |  j  j d i | d d 6 |  j j j |  j j  |  j  j d j |  xG |  j j d  d  d  D], } | j d k rh |  j j j	 |  Pqh qh Wd  S(   Nu#   unexpected-start-tag-out-of-my-headu   nameu   inHeadiu   head(
   RD   Ri   R:   Rh   Rt   R   R>   Rp   RA   t   remove(   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   H  s     c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   R  s    c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   U  s    
c         S` s   |  j    | S(   N(   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   Y  s    
c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   ]  s    c         S` s?   |  j  j t d d   |  j j d |  j _ t |  j _ d  S(   Nu   bodyu   StartTagu   inBody(   R:   R   R   RD   R>   RW   R\   R]   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   `  s    (   R5   R6   RC   Ru   Rn   R   R   R   R   R   R   R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   "  s   						
				t   InBodyPhasec           ` s  e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# d"   Z$ d#   Z% d$   Z& d%   Z' d&   Z( d'   Z) d(   Z* d)   Z+ d*   Z, d+   Z- d,   Z. d-   Z/ d.   Z0 d/   Z1 d0   Z2 d1   Z3 d2   Z4 RS(3   c      ,   ` si    j  |  | |  |  j |  _ t j d |  j f dd |  j f d |  j f d |  j f de |  j	 f t
 |  j f df |  j f d& |  j f dg |  j f d* |  j f d+ |  j f dh |  j f d8 |  j f d9 |  j f di |  j f d= |  j f d> |  j f dj |  j f dk |  j f dH |  j f dI |  j f dJ |  j f dK |  j f dL |  j f dM |  j f dN |  j f dl |  j  f dQ |  j! f dm |  j" f dn |  j# f dV |  j$ f dW |  j% f do |  j& f g!  |  _' |  j( |  j' _) t j d |  j* f d |  j+ f dp |  j, f d& |  j- f d  |  j. f dq |  j/ f t
 |  j0 f dr |  j1 f ds |  j2 f d@ |  j3 f g
  |  _4 |  j5 |  j4 _) d  S(t   Nu   htmlu   baseu   basefontu   bgsoundu   commandu   linku   metau   scriptu   styleu   titleu   bodyu   framesetu   addressu   articleu   asideu
   blockquoteu   centeru   detailsu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   mainu   menuu   navu   olu   pu   sectionu   summaryu   ulu   preu   listingu   formu   liu   ddu   dtu	   plaintextu   au   bu   bigu   codeu   emu   fontu   iu   su   smallu   strikeu   strongu   ttu   uu   nobru   buttonu   appletu   marqueeu   objectu   xmpu   tableu   areau   bru   embedu   imgu   keygenu   wbru   paramu   sourceu   tracku   inputu   hru   imageu   isindexu   textareau   iframeu   noscriptu   noembedu   noframesu   selectu   rpu   rtu   optionu   optgroupu   mathu   svgu   captionu   colu   colgroupu   frameu   headu   tbodyu   tdu   tfootu   thu   theadu   tru   dialog(	   u   baseu   basefontu   bgsoundu   commandu   linku   metau   scriptu   styleu   title(   u   addressu   articleu   asideu
   blockquoteu   centeru   detailsu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   mainu   menuu   navu   olu   pu   sectionu   summaryu   ul(   u   preu   listing(   u   liu   ddu   dt(   u   bu   bigu   codeu   emu   fontu   iu   su   smallu   strikeu   strongu   ttu   u(   u   appletu   marqueeu   object(   u   areau   bru   embedu   imgu   keygenu   wbr(   u   paramu   sourceu   track(   u   noembedu   noframes(   u   rpu   rt(   u   optionu   optgroup(   u   captionu   colu   colgroupu   frameu   headu   tbodyu   tdu   tfootu   thu   theadu   tr(   u   addressu   articleu   asideu
   blockquoteu   buttonu   centeru   detailsu   dialogu   diru   divu   dlu   fieldsetu
   figcaptionu   figureu   footeru   headeru   hgroupu   listingu   mainu   menuu   navu   olu   preu   sectionu   summaryu   ul(   u   ddu   dtu   li(   u   au   bu   bigu   codeu   emu   fontu   iu   nobru   su   smallu   strikeu   strongu   ttu   u(   u   appletu   marqueeu   object(6   RC   t   processSpaceCharactersNonPreRo   R   R   R   t   startTagProcessInHeadR   R   t   startTagClosePR   t   startTagHeadingt   startTagPreListingt   startTagFormt   startTagListItemt   startTagPlaintextt	   startTagAt   startTagFormattingt   startTagNobrt   startTagButtont   startTagAppletMarqueeObjectt   startTagXmpt   startTagTablet   startTagVoidFormattingt   startTagParamSourcet   startTagInputt
   startTagHrt   startTagImaget   startTagIsIndext   startTagTextareat   startTagIFrameR   t   startTagRawtextt   startTagSelectt   startTagRpRtt   startTagOptt   startTagMatht   startTagSvgt   startTagMisplacedR   R   R   t
   endTagBodyt
   endTagHtmlt   endTagBlockt
   endTagFormt   endTagPt   endTagListItemt   endTagHeadingt   endTagFormattingt   endTagAppletMarqueeObjectR   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   h  s~     	   	 	      c         S` s4   | j  | j  k o3 | j | j k o3 | j | j k S(   N(   RA   Ra   Rb   (   R?   t   node1t   node2(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   isMatchingFormattingElement  s    c         S` s   |  j  j |  |  j  j d } g  } xS |  j  j d  d  d  D]8 } | t k rV Pq@ |  j | |  r@ | j |  q@ q@ Wt |  d k s t  t |  d k r |  j  j j	 | d  n  |  j  j j |  d  S(   Nii   (
   R:   R   Rh   t   activeFormattingElementsR
   R  Rt   Rk   Rv   R   (   R?   R~   Rd   t   matchingElementsR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   addFormattingElement  s     c         S` sW   t  d  } xD |  j j d  d  d  D]) } | j | k r& |  j j d  Pq& q& Wd  S(   Nu   ddu   dtu   liu   pu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   htmliu    expected-closing-tag-but-got-eof(   u   ddu   dtu   liu   pu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   html(   Rm   R:   Rh   RA   RD   Ri   (   R?   t   allowed_elementsR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s     	 c         S` s   | d } |  j  |  _ | j d  rb |  j j d j d k rb |  j j d j   rb | d } n  | r |  j j   |  j j |  n  d  S(	   Nu   datau   
iu   preu   listingu   textareai   (   u   preu   listingu   textarea(	   R   Ro   R   R:   Rh   RA   t
   hasContentt#   reconstructActiveFormattingElementsR   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt!   processSpaceCharactersDropNewline  s    
c         S` s}   | d d k r d  S|  j  j   |  j  j | d  |  j j ry t g  | d D] } | t k ^ qO  ry t |  j _ n  d  S(   Nu   datau    (   R:   R  R   RD   R]   t   anyR   RN   (   R?   R~   t   char(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    #c         S` s%   |  j  j   |  j  j | d  d  S(   Nu   data(   R:   R  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d i d d 6 t |  j j  d k sK |  j j d j d k r` |  j  j s t  n` t |  j  _	 xQ | d j
   D]? \ } } | |  j j d j k r} | |  j j d j | <q} q} Wd  S(   Nu   unexpected-start-tagu   bodyu   namei   u   data(   RD   Ri   Rk   R:   Rh   RA   RL   Rv   RN   R]   R(   Rb   (   R?   R~   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s  |  j  j d i d d 6 t |  j j  d k sK |  j j d j d k r` |  j  j s t  n |  j  j so n |  j j d j	 r |  j j d j	 j
 |  j j d  n  x- |  j j d j d k r |  j j j   q W|  j j |  |  j  j d |  j  _ d  S(	   Nu   unexpected-start-tagu   framesetu   namei   u   bodyiu   htmlu
   inFrameset(   RD   Ri   Rk   R:   Rh   RA   RL   Rv   R]   t   parentt   removeChildR   R   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    1'c         S` sB   |  j  j d d d r. |  j t d   n  |  j  j |  d  S(   Nu   pt   variantu   button(   R:   t   elementInScopeR   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` sZ   |  j  j d d d r. |  j t d   n  |  j  j |  t |  j _ |  j |  _	 d  S(   Nu   pR  u   button(
   R:   R  R   R   R   RN   RD   R]   R  Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` s   |  j  j r) |  j j d i d d 6 nT |  j  j d d d rW |  j t d   n  |  j  j |  |  j  j d |  j  _ d  S(   Nu   unexpected-start-tagu   formu   nameu   pR  u   buttoni(	   R:   t   formPointerRD   Ri   R  R   R   R   Rh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   t  |  j _ i d g d 6d d g d 6d d g d 6} | | d } xn t |  j j  D]Z } | j | k r |  j j j t	 | j d   Pn  | j
 t k rW | j d k rW PqW qW W|  j j d d	 d
 r |  j j j t	 d d   n  |  j j |  d  S(   Nu   liu   dtu   ddu   nameu   EndTagu   addressu   divu   pR  u   button(   u   addressu   divu   p(   RN   RD   R]   t   reversedR:   Rh   RA   RW   Rq   R   t	   nameTupleR   R  R   (   R?   R~   t   stopNamesMapt	   stopNamesR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s"    c         S` sZ   |  j  j d d d r. |  j t d   n  |  j  j |  |  j j j |  j j _ d  S(   Nu   pR  u   button(	   R:   R  R   R   R   RD   RH   RV   RT   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   4  s    c         S` s   |  j  j d d d r. |  j t d   n  |  j  j d j t k rx |  j j d i | d d 6 |  j  j j	   n  |  j  j
 |  d  S(   Nu   pR  u   buttoniu   unexpected-start-tagu   name(   R:   R  R   R   Rh   RA   R   RD   Ri   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   :  s    c         S` s   |  j  j d  } | r |  j j d i d d 6d d 6 |  j t d   | |  j  j k rt |  j  j j |  n  | |  j  j k r |  j  j j |  q n  |  j  j	   |  j
 |  d  S(   Nu   au$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(   R:   t!   elementInActiveFormattingElementsRD   Ri   R  R   Rh   R   R  R  R	  (   R?   R~   t   afeAElement(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   B  s    c         S` s   |  j  j   |  j |  d  S(   N(   R:   R  R	  (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   O  s    c         S` st   |  j  j   |  j  j d  rc |  j j d i d d 6d d 6 |  j t d   |  j  j   n  |  j |  d  S(   Nu   nobru$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(   R:   R  R  RD   Ri   Rq   R   R	  (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   S  s    c         S` sw   |  j  j d  rJ |  j j d i d d 6d d 6 |  j t d   | S|  j  j   |  j  j |  t |  j _	 d  S(   Nu   buttonu$   unexpected-start-tag-implies-end-tagu	   startNameu   endName(
   R:   R  RD   Ri   Rq   R   R  R   RN   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   ]  s    c         S` s@   |  j  j   |  j  j |  |  j  j j t  t |  j _ d  S(   N(	   R:   R  R   R  Rt   R
   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   h  s    c         S` s^   |  j  j d d d r. |  j t d   n  |  j  j   t |  j _ |  j j | d  d  S(   Nu   pR  u   buttonu   RAWTEXT(	   R:   R  R   R   R  RN   RD   R]   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   n  s
    c         S` sy   |  j  j d k rC |  j j d d d rC |  j t d   qC n  |  j j |  t |  j  _ |  j  j	 d |  j  _
 d  S(   Nu   quirksu   pR  u   buttonu   inTable(   RD   RQ   R:   R  Rq   R   R   RN   R]   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   u  s    c         S` sG   |  j  j   |  j  j |  |  j  j j   t | d <t |  j _ d  S(   Nu   selfClosingAcknowledged(	   R:   R  R   Rh   R   R\   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   }  s
    
c         S` sY   |  j  j } |  j |  d | d k rU | d d j t  d k rU | |  j  _ n  d  S(   Nu   typeu   datau   hidden(   RD   R]   R   Rc   R   (   R?   R~   R]   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` s.   |  j  j |  |  j  j j   t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R   Rh   R   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sh   |  j  j d d d r. |  j t d   n  |  j  j |  |  j  j j   t | d <t |  j	 _
 d  S(   Nu   pR  u   buttonu   selfClosingAcknowledged(   R:   R  R   R   R   Rh   R   R\   RN   RD   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c      	   S` sO   |  j  j d i d d 6d d 6 |  j t d d d | d d	 | d
  d  S(   Nu   unexpected-start-tag-treated-asu   imageu   originalNameu   imgu   newNameu   StartTagRb   u   datat   selfClosingu   selfClosing(   RD   Ri   Rp   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    
c      	   S` s  |  j  j d i d d 6 |  j j r* d  Si  } d | d k rU | d d | d <n  |  j t d d d |  |  j t d	 d   |  j t d
 d   d | d k r | d d } n d } |  j i t d d 6| d 6 | d j   } d | k r	| d =n  d | k r| d =n  d | d <|  j t d d d | d | d  |  j	 t d
   |  j t d	 d   |  j	 t d   d  S(   Nu   deprecated-tagu   isindexu   nameu   actionu   datau   formu   StartTagRb   u   hru   labelu   promptu3   This is a searchable index. Enter search keywords: u
   Charactersu   typeu   inputR  u   selfClosing(
   RD   Ri   R:   R  Rp   R   Rn   R   t   copyRq   (   R?   R~   t
   form_attrst   promptRb   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s6    



c         S` sD   |  j  j |  |  j j j |  j j _ |  j |  _ t |  j _	 d  S(   N(
   R:   R   RD   RH   RS   RT   R  Ro   RN   R]   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   t  |  j _ |  j |  d  S(   N(   RN   RD   R]   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s-   |  j  j r |  j |  n |  j |  d  S(   N(   RD   RF   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j | d  d S(   u8   iframe, noembed noframes, noscript(if scripting enabled)u   RAWTEXTN(   RD   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sY   |  j  j d j d k r5 |  j j j t d   n  |  j  j   |  j j  j |  d  S(   Niu   option(	   R:   Rh   RA   RD   RW   Rq   R   R  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j   |  j  j |  t |  j _ |  j j |  j j d |  j j d |  j j d |  j j d |  j j d |  j j d f k r |  j j d |  j _ n |  j j d |  j _ d  S(	   Nu   inTableu	   inCaptionu   inColumnGroupu   inTableBodyu   inRowu   inCellu   inSelectInTableu   inSelect(   R:   R  R   RN   RD   R]   RW   R>   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s_   |  j  j d  rK |  j  j   |  j  j d j d k rK |  j j   qK n  |  j  j |  d  S(   Nu   rubyi(   R:   R  t   generateImpliedEndTagsRh   RA   RD   Ri   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` sv   |  j  j   |  j j |  |  j j |  t d | d <|  j  j |  | d rr |  j  j j   t	 | d <n  d  S(   Nu   mathmlu	   namespaceu   selfClosingu   selfClosingAcknowledged(
   R:   R  RD   R   R   R   R   Rh   R   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` sv   |  j  j   |  j j |  |  j j |  t d | d <|  j  j |  | d rr |  j  j j   t	 | d <n  d  S(   Nu   svgu	   namespaceu   selfClosingu   selfClosingAcknowledged(
   R:   R  RD   R   R   R   R   Rh   R   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    
c         S` s"   |  j  j d i | d d 6 d S(   u5   Elements that should be children of other elements that have a
            different insertion mode; here they are ignored
            "caption", "col", "colgroup", "frame", "frameset", "head",
            "option", "optgroup", "tbody", "td", "tfoot", "th", "thead",
            "tr", "noscript"
            u   unexpected-start-tag-ignoredu   nameN(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s!   |  j  j   |  j  j |  d  S(   N(   R:   R  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d d d sa |  j t d d   |  j j d i d d 6 |  j t d d   n |  j  j d  |  j  j d j	 d k r |  j j d i d d 6 n  |  j  j j
   } x% | j	 d k r |  j  j j
   } q Wd  S(	   Nu   pR  u   buttonu   StartTagu   unexpected-end-tagu   nameu   EndTagi(   R:   R  R   R   RD   Ri   R   R  Rh   RA   R   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d  s# |  j j   d  S|  j  j d j d k r xX |  j  j d D]C } | j t d  k rM |  j j d i d d 6| j d 6 PqM qM Wn  |  j j d |  j _ d  S(   Nu   bodyii   u   ddu   dtu   liu   optgroupu   optionu   pu   rpu   rtu   tbodyu   tdu   tfootu   thu   theadu   tru   htmlu$   expected-one-end-tag-but-got-anotheru   gotNameu   expectedNameu	   afterBody(   u   ddu   dtu   liu   optgroupu   optionu   pu   rpu   rtu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   html(	   R:   R  RD   Ri   Rh   RA   Rm   R>   RW   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   !  s    	   	c         S` s-   |  j  j d  r) |  j t d   | Sd  S(   Nu   body(   R:   R  R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   3  s    c         S` s   | d d k r |  j  |  _ n  |  j j | d  } | rK |  j j   n  |  j j d j | d k r |  j j d i | d d 6 n  | r |  j j j	   } x, | j | d k r |  j j j	   } q Wn  d  S(   Nu   nameu   preiu   end-tag-too-early(
   R   Ro   R:   R  R  Rh   RA   RD   Ri   R   (   R?   R~   t   inScopeR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   9  s    !c         S` s   |  j  j } d  |  j  _ | d  k s7 |  j  j |  rT |  j j d i d d 6 nS |  j  j   |  j  j d | k r |  j j d i d d 6 n  |  j  j j |  d  S(   Nu   unexpected-end-tagu   formu   nameiu   end-tag-too-early-ignored(	   R:   R  R9   R  RD   Ri   R  Rh   R   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   G  s    c         S` s   | d d k r d } n d  } |  j j | d d | s\ |  j j d i | d d 6 n |  j j d | d  |  j j d j | d k r |  j j d i | d d 6 n  |  j j j   } x) | j | d k r |  j j j   } q Wd  S(	   Nu   nameu   liu   listR  u   unexpected-end-tagt   excludeiu   end-tag-too-early(	   R9   R:   R  RD   Ri   R  Rh   RA   R   (   R?   R~   R  R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   T  s    	!	c         S` s   x1 t  D]) } |  j j |  r |  j j   Pq q W|  j j d j | d k rr |  j j d i | d d 6 n  x^ t  D]V } |  j j |  ry |  j j j   } x% | j t  k r |  j j j   } q WPqy qy Wd  S(   Niu   nameu   end-tag-too-early(	   R   R:   R  R  Rh   RA   RD   Ri   R   (   R?   R~   t   item(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR  e  s    !c         S` s3  d } x&| d k  r.| d 7} |  j  j | d  } | sd | |  j  j k ru |  j  j | j  ru |  j |  d S| |  j  j k r |  j j d i | d d 6 |  j  j j	 |  d S|  j  j | j  s |  j j d i | d d 6 d S| |  j  j d k r*|  j j d	 i | d d 6 n  |  j  j j
 |  } d } x1 |  j  j | D] } | j t k rV| } PqVqVW| d k r|  j  j j   } x" | | k r|  j  j j   } qW|  j  j j	 |  d S|  j  j | d } |  j  j j
 |  } | }	 }
 d } |  j  j j
 |
  } x| d
 k  r9| d 7} | d 8} |  j  j | }
 |
 |  j  j k r|  j  j j	 |
  q$n  |
 | k rPn  |	 | k r|  j  j j
 |
  d } n  |
 j   } | |  j  j |  j  j j
 |
  <| |  j  j |  j  j j
 |
  <| }
 |	 j r#|	 j j |	  n  |
 j |	  |
 }	 q$W|	 j rV|	 j j |	  n  | j t d  k r|  j  j   \ } } | j |	 |  n | j |	  | j   } | j |  | j |  |  j  j j	 |  |  j  j j | |  |  j  j j	 |  |  j  j j |  j  j j
 |  d |  q	 Wd S(   u)   The much-feared adoption agency algorithmi    i   i   u   nameNu   adoption-agency-1.2u   adoption-agency-4.4iu   adoption-agency-1.3i   u   tableu   tbodyu   tfootu   theadu   tr(   u   tableu   tbodyu   tfootu   theadu   tr(   R:   R  Rh   R  RA   R   RD   Ri   R  R   t   indexR9   R  R   R   t	   cloneNodeR  R  t   appendChildRm   t   getTableMisnestedNodePositiont   insertBeforet   reparentChildrent   insert(   R?   R~   t   outerLoopCountert   formattingElementt   afeIndext   furthestBlockRd   t   commonAncestort   bookmarkt   lastNodeR   t   innerLoopCounterR#  t   cloneR  R'  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR  t  s    

	!



	
	c         S` s   |  j  j | d  r& |  j  j   n  |  j  j d j | d k rd |  j j d i | d d 6 n  |  j  j | d  r |  j  j j   } x) | j | d k r |  j  j j   } q W|  j  j   n  d  S(   Nu   nameiu   end-tag-too-early(	   R:   R  R  Rh   RA   RD   Ri   R   t   clearActiveFormattingElements(   R?   R~   Rd   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR    s    !c         S` s[   |  j  j d i d d 6d d 6 |  j j   |  j j t d d   |  j j j   d  S(   Nu   unexpected-end-tag-treated-asu   bru   originalNameu
   br elementu   newNameu   StartTag(   RD   Ri   R:   R  R   R   Rh   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   #  s
    c         S` s   x |  j  j d  d  d  D] } | j | d k r |  j  j d | d  |  j  j d j | d k r |  j j d i | d d 6 n  x |  j  j j   | k r q WPq | j t k r |  j j d i | d d 6 Pq q Wd  S(   Niu   nameR!  u   unexpected-end-tag(	   R:   Rh   RA   R  RD   Ri   R   R  R   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   *  s     !(5   R5   R6   RC   R  R	  Ru   R  Rn   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   e  sf   G			
																
																																t	   TextPhasec           ` sD   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         ` se     j  |  | |  t j g   |  _ |  j |  j _ t j d |  j f g  |  _ |  j |  j _ d  S(   Nu   script(	   RC   R   R   R   R   R   t   endTagScriptR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   9  s    c         S` s   |  j  j | d  d  S(   Nu   data(   R:   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   A  s    c         S` sM   |  j  j d i |  j j d j d 6 |  j j j   |  j  j |  j  _ t S(   Nu&   expected-named-closing-tag-but-got-eofiu   name(	   RD   Ri   R:   Rh   RA   R   R   RW   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   D  s
    c         S` s   t  s t d | d   d  S(   Nu4   Tried to process start tag %s in RCDATA/RAWTEXT modeu   name(   RN   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   K  s    c         S` s=   |  j  j j   } | j d k s' t  |  j j |  j _ d  S(   Nu   script(   R:   Rh   R   RA   Rv   RD   R   RW   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR5  N  s    c         S` s&   |  j  j j   |  j j |  j _ d  S(   N(   R:   Rh   R   RD   R   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   U  s    (   R5   R6   RC   Rn   Ru   R   R5  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR4  8  s   				t   InTablePhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f d |  j f d |  j f d |  j	 f d |  j
 f d |  j f d |  j f g
  |  _ |  j |  j _ t j d |  j f d |  j f g  |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colgroupu   colu   tbodyu   tfootu   theadu   tdu   thu   tru   tableu   styleu   scriptu   inputu   formu   body(   u   tbodyu   tfootu   thead(   u   tdu   thu   tr(   u   styleu   script(   u   bodyu   captionu   colu   colgroupu   htmlu   tbodyu   tdu   tfootu   thu   theadu   tr(   RC   R   R   R   t   startTagCaptiont   startTagColgroupt   startTagColt   startTagRowGroupt   startTagImplyTbodyR   t   startTagStyleScriptR   R   R   R   R   t   endTagTablet   endTagIgnoreR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   [  s$     c         S` s4   x- |  j  j d j d k r/ |  j  j j   q Wd  S(   Niu   tableu   html(   u   tableu   html(   R:   Rh   RA   R   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableContexts  s    c         S` sB   |  j  j d j d k r, |  j j d  n |  j j s> t  d  S(   Niu   htmlu   eof-in-table(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   |  s    c         S` sH   |  j  j } |  j  j d |  j  _ | |  j  j _ |  j  j j |  d  S(   Nu   inTableText(   RD   RW   R>   R   Ro   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` sH   |  j  j } |  j  j d |  j  _ | |  j  j _ |  j  j j |  d  S(   Nu   inTableText(   RD   RW   R>   R   Rn   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s3   t  |  j _ |  j j d j |  t |  j _ d  S(   Nu   inBody(   R\   R:   t   insertFromTableRD   R>   Rn   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sG   |  j    |  j j j t  |  j j |  |  j j d |  j _ d  S(   Nu	   inCaption(	   R?  R:   R  Rt   R
   R   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR7    s    
c         S` s4   |  j    |  j j |  |  j j d |  j _ d  S(   Nu   inColumnGroup(   R?  R:   R   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR8    s    
c         S` s   |  j  t d d   | S(   Nu   colgroupu   StartTag(   R8  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR9    s    c         S` s4   |  j    |  j j |  |  j j d |  j _ d  S(   Nu   inTableBody(   R?  R:   R   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR:    s    
c         S` s   |  j  t d d   | S(   Nu   tbodyu   StartTag(   R:  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR;    s    c         S` sN   |  j  j d i d d 6d d 6 |  j  j j t d   |  j  j sJ | Sd  S(   Nu$   unexpected-start-tag-implies-end-tagu   tableu	   startNameu   endName(   RD   Ri   RW   Rq   R   RL   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR<    s    c         S` sq   d | d k r` | d d j  t  d k r` |  j j d  |  j j |  |  j j j   n |  j |  d  S(   Nu   typeu   datau   hiddenu    unexpected-hidden-input-in-table(	   Rc   R   RD   Ri   R:   R   Rh   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s_   |  j  j d  |  j j d  k r[ |  j j |  |  j j d |  j _ |  j j j   n  d  S(   Nu   unexpected-form-in-tablei(   RD   Ri   R:   R  R9   R   Rh   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` sQ   |  j  j d i | d d 6 t |  j _ |  j  j d j |  t |  j _ d  S(   Nu)   unexpected-start-tag-implies-table-voodoou   nameu   inBody(   RD   Ri   R\   R:   R@  R>   Rp   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j d d d r |  j  j   |  j  j d j d k ro |  j j d i d d 6|  j  j d j d 6 n  x- |  j  j d j d k r |  j  j j   qr W|  j  j j   |  j j   n |  j j	 s t
  |  j j   d  S(   Nu   tableR  iu   end-tag-too-early-namedu   gotNameu   expectedName(   R:   R  R  Rh   RA   RD   Ri   R   RY   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=    s    
c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>    s    c         S` sQ   |  j  j d i | d d 6 t |  j _ |  j  j d j |  t |  j _ d  S(   Nu'   unexpected-end-tag-implies-table-voodoou   nameu   inBody(   RD   Ri   R\   R:   R@  R>   Rq   RN   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   R?  Ru   Ro   Rn   R   R7  R8  R9  R:  R;  R   R<  R   R   R   R=  R>  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR6  Y  s&   														
				t   InTableTextPhasec           ` sV   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         ` s)     j  |  | |  d  |  _ g  |  _ d  S(   N(   RC   R9   R   t   characterTokens(   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s    	c         S` s   d j  g  |  j D] } | d ^ q  } t g  | D] } | t k ^ q3  r i t d d 6| d 6} |  j j d j |  n | r |  j j |  n  g  |  _ d  S(   Nu    u   datau
   Charactersu   typeu   inTable(	   t   joinRB  R  R   R   RD   R>   R   R:   (   R?   R"  R   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   flushCharacters  s    )%c         S` s   |  j    |  j |  j _ | S(   N(   RD  R   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr     s    
c         S` s   |  j    |  j |  j _ t S(   N(   RD  R   RD   RW   R\   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    
c         S` s(   | d d k r d  S|  j  j |  d  S(   Nu   datau    (   RB  Rt   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s   |  j  j |  d  S(   N(   RB  Rt   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` s   |  j    |  j |  j _ | S(   N(   RD  R   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp     s    
c         S` s   |  j    |  j |  j _ | S(   N(   RD  R   RD   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq     s    
(
   R5   R6   RC   RD  Rr   Ru   Rn   Ro   Rp   Rq   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRA    s   							t   InCaptionPhasec           ` sh   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         ` s     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ t j d |  j f d |  j	 f d |  j
 f g  |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tru   tableu   body(	   u   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tr(
   u   bodyu   colu   colgroupu   htmlu   tbodyu   tdu   tfootu   thu   theadu   tr(   RC   R   R   R   t   startTagTableElementR   R   R   t   endTagCaptionR=  R>  R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s      c         S` s   |  j  j d d d S(   Nu   captionR  u   table(   R:   R  (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagCaption+  s    c         S` s   |  j  j d j   d  S(   Nu   inBody(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   .  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   1  s    c         S` s@   |  j  j   |  j   } |  j  j j t d   | s< | Sd  S(   Nu   caption(   RD   Ri   RH  RW   Rq   R   (   R?   R~   t   ignoreEndTag(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRF  4  s
    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   <  s    c         S` s   |  j    s |  j j   |  j j d j d k rc |  j j d i d d 6|  j j d j d 6 n  x- |  j j d j d k r |  j j j   qf W|  j j j   |  j j   |  j j	 d |  j _
 n |  j j s t  |  j j   d  S(   Niu   captionu$   expected-one-end-tag-but-got-anotheru   gotNameu   expectedNameu   inTable(   RH  R:   R  Rh   RA   RD   Ri   R   R3  R>   RW   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRG  ?  s    
c         S` s@   |  j  j   |  j   } |  j  j j t d   | s< | Sd  S(   Nu   caption(   RD   Ri   RH  RW   Rq   R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  Q  s
    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  X  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   [  s    (   R5   R6   RC   RH  Ru   Rn   RF  R   RG  R=  R>  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRE    s   								t   InColumnGroupPhasec           ` s_   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         ` s     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ t j d |  j f d |  j	 f g  |  _
 |  j |  j
 _ d  S(   Nu   htmlu   colu   colgroup(   RC   R   R   R   R9  R   R   R   t   endTagColgroupt	   endTagColR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   a  s    c         S` s   |  j  j d j d k S(   Niu   html(   R:   Rh   RA   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagColgroupp  s    c         S` s\   |  j  j d j d k r/ |  j j s+ t  d  S|  j   } |  j t d   | sX t	 Sd  S(   Niu   htmlu   colgroup(
   R:   Rh   RA   RD   RL   Rv   RM  RK  R   R\   (   R?   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   s  s    c         S` s-   |  j    } |  j t d   | s) | Sd  S(   Nu   colgroup(   RM  RK  R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   }  s    c         S` s.   |  j  j |  |  j  j j   t | d <d  S(   Nu   selfClosingAcknowledged(   R:   R   Rh   R   R\   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR9    s    c         S` s-   |  j    } |  j t d   | s) | Sd  S(   Nu   colgroup(   RM  RK  R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sX   |  j    r. |  j j s t  |  j j   n& |  j j j   |  j j d |  j _	 d  S(   Nu   inTable(
   RM  RD   RL   Rv   Ri   R:   Rh   R   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRK    s
    c         S` s   |  j  j d i d d 6 d  S(   Nu
   no-end-tagu   colu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRL    s    c         S` s-   |  j    } |  j t d   | s) | Sd  S(   Nu   colgroup(   RM  RK  R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   RM  Ru   Rn   R9  R   RK  RL  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRJ  ^  s   		
						t   InTableBodyPhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f g  |  _ |  j |  j _	 t j d |  j
 f d |  j f d |  j f g  |  _ |  j |  j _	 d  S(   Nu   htmlu   tru   tdu   thu   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tableu   body(   u   tdu   th(   u   captionu   colu   colgroupu   tbodyu   tfootu   thead(   u   tbodyu   tfootu   thead(   u   bodyu   captionu   colu   colgroupu   htmlu   tdu   thu   tr(   RC   R   R   R   t
   startTagTrt   startTagTableCellt   startTagTableOtherR   R   R   t   endTagTableRowGroupR=  R>  R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s     c         S` sb   x- |  j  j d j d k r/ |  j  j j   q W|  j  j d j d k r^ |  j j s^ t  n  d  S(   Niu   tbodyu   tfootu   theadu   html(   u   tbodyu   tfootu   theadu   html(   R:   Rh   RA   R   RD   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableBodyContext  s
    	c         S` s   |  j  j d j   d  S(   Nu   inTable(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo     s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s4   |  j    |  j j |  |  j j d |  j _ d  S(   Nu   inRow(   RS  R:   R   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRO    s    
c         S` s8   |  j  j d i | d d 6 |  j t d d   | S(   Nu   unexpected-cell-in-table-bodyu   nameu   tru   StartTag(   RD   Ri   RO  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP    s    c         S` s   |  j  j d d d sH |  j  j d d d sH |  j  j d d d rv |  j   |  j t |  j  j d j   | S|  j j s t	  |  j j
   d  S(   Nu   tbodyR  u   tableu   theadu   tfooti(   R:   R  RS  RR  R   Rh   RA   RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ    s    
c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sq   |  j  j | d d d rO |  j   |  j  j j   |  j j d |  j _ n |  j j d i | d d 6 d  S(   Nu   nameR  u   tableu   inTableu    unexpected-end-tag-in-table-body(	   R:   R  RS  Rh   R   RD   R>   RW   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRR    s    
c         S` s   |  j  j d d d sH |  j  j d d d sH |  j  j d d d rv |  j   |  j t |  j  j d j   | S|  j j s t	  |  j j
   d  S(   Nu   tbodyR  u   tableu   theadu   tfooti(   R:   R  RS  RR  R   Rh   RA   RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=    s    
c         S` s"   |  j  j d i | d d 6 d  S(   Nu    unexpected-end-tag-in-table-bodyu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>    s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   RS  Ru   Ro   Rn   RO  RP  RQ  R   RR  R=  R>  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRN    s   	
											t
   InRowPhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f g  |  _ |  j |  j _ t j d
 |  j	 f d |  j
 f d |  j f d |  j f g  |  _ |  j |  j _ d  S(   Nu   htmlu   tdu   thu   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tru   tableu   body(   u   tdu   th(   u   captionu   colu   colgroupu   tbodyu   tfootu   theadu   tr(   u   tbodyu   tfootu   thead(   u   bodyu   captionu   colu   colgroupu   htmlu   tdu   th(   RC   R   R   R   RP  RQ  R   R   R   t   endTagTrR=  RR  R>  R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s     c         S` s[   xT |  j  j d j d k rV |  j j d i |  j  j d j d 6 |  j  j j   q Wd  S(   Niu   tru   htmlu'   unexpected-implied-end-tag-in-table-rowu   name(   u   tru   html(   R:   Rh   RA   RD   Ri   R   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   clearStackToTableRowContext  s    c         S` s   |  j  j d d d S(   Nu   trR  u   table(   R:   R  (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   ignoreEndTagTr  s    c         S` s   |  j  j d j   d  S(   Nu   inTable(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   "  s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   %  s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   (  s    c         S` sG   |  j    |  j j |  |  j j d |  j _ |  j j j t  d  S(   Nu   inCell(	   RV  R:   R   RD   R>   RW   R  Rt   R
   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRP  +  s    
c         S` s-   |  j    } |  j t d   | s) | Sd  S(   Nu   tr(   RW  RU  R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ  1  s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   8  s    c         S` sb   |  j    s? |  j   |  j j j   |  j j d |  j _ n |  j j sQ t	  |  j j
   d  S(   Nu   inTableBody(   RW  RV  R:   Rh   R   RD   R>   RW   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRU  ;  s    
c         S` s-   |  j    } |  j t d   | s) | Sd  S(   Nu   tr(   RW  RU  R   (   R?   R~   RI  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  E  s    c         S` sD   |  j  j | d d d r3 |  j t d   | S|  j j   d  S(   Nu   nameR  u   tableu   tr(   R:   R  RU  R   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRR  M  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tag-in-table-rowu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>  T  s    c         S` s   |  j  j d j |  S(   Nu   inTable(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   X  s    (   R5   R6   RC   RV  RW  Ru   Ro   Rn   RP  RQ  R   RU  R=  RR  R>  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRT    s   									
			t   InCellPhasec           ` sh   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         ` s     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ t j d |  j f d |  j	 f d |  j
 f g  |  _ |  j |  j _ d  S(   Nu   htmlu   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tru   bodyu   table(	   u   captionu   colu   colgroupu   tbodyu   tdu   tfootu   thu   theadu   tr(   u   tdu   th(   u   bodyu   captionu   colu   colgroupu   html(   u   tableu   tbodyu   tfootu   theadu   tr(   RC   R   R   R   RQ  R   R   R   t   endTagTableCellR>  t   endTagImplyR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   ]  s     c         S` s`   |  j  j d d d r. |  j t d   n. |  j  j d d d r\ |  j t d   n  d  S(   Nu   tdR  u   tableu   th(   R:   R  RY  R   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt	   closeCelln  s    c         S` s   |  j  j d j   d  S(   Nu   inBody(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   u  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   x  s    c         S` sa   |  j  j d d d s0 |  j  j d d d r> |  j   | S|  j j sP t  |  j j   d  S(   Nu   tdR  u   tableu   th(   R:   R  R[  RD   RL   Rv   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRQ  {  s    
c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s   |  j  j | d d d r |  j  j | d  |  j  j d j | d k r |  j j d i | d d 6 xF t r |  j  j j   } | j | d k rn Pqn qn Wn |  j  j j   |  j  j	   |  j j
 d |  j _ n |  j j d i | d d 6 d  S(   Nu   nameR  u   tableiu   unexpected-cell-end-tagu   inRowu   unexpected-end-tag(   R:   R  R  Rh   RA   RD   Ri   R\   R   R3  R>   RW   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRY    s    	c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR>    s    c         S` s;   |  j  j | d d d r* |  j   | S|  j j   d  S(   Nu   nameR  u   table(   R:   R  R[  RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRZ    s    
c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    (   R5   R6   RC   R[  Ru   Rn   RQ  R   RY  R>  RZ  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRX  [  s   				
				t   InSelectPhasec           ` s   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f d	 |  j f d |  j f g  |  _	 |  j
 |  j	 _ t j d |  j f d |  j f d |  j f g  |  _ |  j |  j _ d  S(
   Nu   htmlu   optionu   optgroupu   selectu   inputu   keygenu   textareau   script(   u   inputu   keygenu   textarea(   RC   R   R   R   t   startTagOptiont   startTagOptgroupR   R   R   R   R   R   t   endTagOptiont   endTagOptgroupt   endTagSelectR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC     s    c         S` sB   |  j  j d j d k r, |  j j d  n |  j j s> t  d  S(   Niu   htmlu   eof-in-select(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu     s    c         S` s,   | d d k r d  S|  j  j | d  d  S(   Nu   datau    (   R:   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn     s    c         S` s@   |  j  j d j d k r, |  j  j j   n  |  j  j |  d  S(   Niu   option(   R:   Rh   RA   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR]    s    c         S` sl   |  j  j d j d k r, |  j  j j   n  |  j  j d j d k rX |  j  j j   n  |  j  j |  d  S(   Niu   optionu   optgroup(   R:   Rh   RA   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR^    s
    c         S` s'   |  j  j d  |  j t d   d  S(   Nu   unexpected-select-in-selectu   select(   RD   Ri   Ra  R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sU   |  j  j d  |  j j d d d r? |  j t d   | S|  j  j sQ t  d  S(   Nu   unexpected-input-in-selectu   selectR  (   RD   Ri   R:   R  Ra  R   RL   Rv   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s
    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-start-tag-in-selectu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR     s    c         S` sJ   |  j  j d j d k r, |  j  j j   n |  j j d i d d 6 d  S(   Niu   optionu   unexpected-end-tag-in-selectu   name(   R:   Rh   RA   R   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR_    s    c         S` s   |  j  j d j d k rE |  j  j d j d k rE |  j  j j   n  |  j  j d j d k rq |  j  j j   n |  j j d i d d 6 d  S(   Niu   optioniu   optgroupu   unexpected-end-tag-in-selectu   name(   R:   Rh   RA   R   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR`    s    c         S` s   |  j  j d d d rb |  j  j j   } x% | j d k rQ |  j  j j   } q- W|  j j   n |  j j st t  |  j j	   d  S(   Nu   selectR  (
   R:   R  Rh   R   RA   RD   RY   RL   Rv   Ri   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRa    s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tag-in-selectu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    (   R5   R6   RC   Ru   Rn   R]  R^  R   R   R   R   R_  R`  Ra  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR\    s   											t   InSelectInTablePhasec           ` sM   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c      	   ` sq     j  |  | |  t j d	 |  j f g  |  _ |  j |  j _ t j d
 |  j f g  |  _ |  j	 |  j _ d  S(   Nu   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(   u   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(   u   captionu   tableu   tbodyu   tfootu   theadu   tru   tdu   th(
   RC   R   R   R   R   R   R   R=  R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   	  s    c         S` s   |  j  j d j   d  S(   Nu   inSelect(   RD   R>   Ru   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   	  s    c         S` s   |  j  j d j |  S(   Nu   inSelect(   RD   R>   Rn   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   	  s    c         S` s5   |  j  j d i | d d 6 |  j t d   | S(   Nu5   unexpected-table-element-start-tag-in-select-in-tableu   nameu   select(   RD   Ri   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   !	  s    c         S` s   |  j  j d j |  S(   Nu   inSelect(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   &	  s    c         S` sU   |  j  j d i | d d 6 |  j j | d d d rQ |  j t d   | Sd  S(   Nu3   unexpected-table-element-end-tag-in-select-in-tableu   nameR  u   tableu   select(   RD   Ri   R:   R  R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=  )	  s    c         S` s   |  j  j d j |  S(   Nu   inSelect(   RD   R>   Rq   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   /	  s    (	   R5   R6   RC   Ru   Rn   R   R   R=  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRb  	  s   					t   InForeignContentPhasec        -   ` s   e  Z e d  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ g,  Z   f d,   Z d-   Z   f d.   Z d/   Z d0   Z RS(1   u   bu   bigu
   blockquoteu   bodyu   bru   centeru   codeu   ddu   divu   dlu   dtu   emu   embedu   h1u   h2u   h3u   h4u   h5u   h6u   headu   hru   iu   imgu   liu   listingu   menuu   metau   nobru   olu   pu   preu   rubyu   su   smallu   spanu   strongu   strikeu   subu   supu   tableu   ttu   uu   ulu   varc         ` s     j  |  | |  d  S(   N(   RC   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   <	  s    c         S` s+  i$ d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6d? d@ 6dA dB 6dC dD 6dE dF 6dG dH 6} | dI | k r'| | dI | dI <n  d  S(J   Nu   altGlyphu   altglyphu   altGlyphDefu   altglyphdefu   altGlyphItemu   altglyphitemu   animateColoru   animatecoloru   animateMotionu   animatemotionu   animateTransformu   animatetransformu   clipPathu   clippathu   feBlendu   feblendu   feColorMatrixu   fecolormatrixu   feComponentTransferu   fecomponenttransferu   feCompositeu   fecompositeu   feConvolveMatrixu   feconvolvematrixu   feDiffuseLightingu   fediffuselightingu   feDisplacementMapu   fedisplacementmapu   feDistantLightu   fedistantlightu   feFloodu   fefloodu   feFuncAu   fefuncau   feFuncBu   fefuncbu   feFuncGu   fefuncgu   feFuncRu   fefuncru   feGaussianBluru   fegaussianbluru   feImageu   feimageu   feMergeu   femergeu   feMergeNodeu   femergenodeu   feMorphologyu   femorphologyu   feOffsetu   feoffsetu   fePointLightu   fepointlightu   feSpecularLightingu   fespecularlightingu   feSpotLightu   fespotlightu   feTileu   fetileu   feTurbulenceu   feturbulenceu   foreignObjectu   foreignobjectu   glyphRefu   glyphrefu   linearGradientu   lineargradientu   radialGradientu   radialgradientu   textPathu   textpathu   name(    (   R?   R~   t   replacements(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   adjustSVGTagNames?	  sL    

c         ` sf   | d d k r d | d <n5 |  j  j rR t d   | d D  rR t |  j  _ n    j |  |  d  S(   Nu   datau    u   �c         s` s   |  ] } | t  k Vq d  S(   N(   R   (   R   R  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>l	  s    (   RD   R]   R  RN   Rn   (   R?   R~   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   h	  s    c         S` s  |  j  j d } | d |  j k s\ | d d k r t | d j    t d d d g  @r |  j j d i | d d 6 xm |  j  j d j |  j  j k r |  j j	 |  j  j d  r |  j j
 |  j  j d  r |  j  j j   q} W| S| j t d	 k r|  j j |  n3 | j t d
 k rG|  j |  |  j j |  n  |  j j |  | j | d <|  j  j |  | d r|  j  j j   t | d <n  d  S(   Niu   nameu   fontu   datau   coloru   faceu   sizeu*   unexpected-html-element-in-foreign-contentu   mathmlu   svgu	   namespaceu   selfClosingu   selfClosingAcknowledged(   R:   Rh   t   breakoutElementst   sett   keysRD   Ri   Ra   Rl   Re   Rf   R   R   R   Re  R   R   R   R\   (   R?   R~   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp   p	  s.    )
c         S` sZ  t  |  j j  d } |  j j d } | j j t  | d k rc |  j j d i | d d 6 n  x t rU| j j t  | d k r|  j j	 |  j j
 d k r |  j j	 j   |  j j	 j |  j _	 n  x. |  j j j   | k r |  j j s t  q Wd  } Pn  | d 8} |  j j | } | j |  j j k r<qf qf |  j j	 j |  } Pqf W| S(   Ni   iu   nameu   unexpected-end-tagu   inTableText(   Rk   R:   Rh   RA   Rc   R   RD   Ri   R\   RW   R>   RD  R   R   Rv   R9   Ra   Rl   Rq   (   R?   R~   t	   nodeIndexR   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   	  s(    !	
(	   R5   R6   Rm   Rf  RC   Re  Rn   Rp   Rq   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRc  2	  s   	)	t   AfterBodyPhasec           ` sV   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         ` sq     j  |  | |  t j d |  j f g  |  _ |  j |  j _ t j d |  j f g  |  _ |  j	 |  j _ d  S(   Nu   html(
   RC   R   R   R   R   R   R   R   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   	  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   	  s    c         S` s!   |  j  j | |  j  j d  d  S(   Ni    (   R:   R   Rh   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   	  s    c         S` s*   |  j  j d  |  j  j d |  j  _ | S(   Nu   unexpected-char-after-bodyu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   	  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s8   |  j  j d i | d d 6 |  j  j d |  j  _ | S(   Nu   unexpected-start-tag-after-bodyu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s9   |  j  j r |  j  j d  n |  j  j d |  j  _ d  S(   Nu'   unexpected-end-tag-after-body-innerhtmlu   afterAfterBody(   RD   RL   Ri   R>   RW   (   R?   RA   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s8   |  j  j d i | d d 6 |  j  j d |  j  _ | S(   Nu   unexpected-end-tag-after-bodyu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    (
   R5   R6   RC   Ru   Rr   Rn   R   R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRj  	  s   						t   InFramesetPhasec           ` s_   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         ` s     j  |  | |  t j d |  j f d |  j f d |  j f d |  j f g  |  _ |  j |  j _	 t j d |  j
 f g  |  _ |  j |  j _	 d  S(   Nu   htmlu   framesetu   frameu   noframes(   RC   R   R   R   R   t   startTagFramet   startTagNoframesR   R   R   t   endTagFramesetR   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   	  s    c         S` sB   |  j  j d j d k r, |  j j d  n |  j j s> t  d  S(   Niu   htmlu   eof-in-frameset(   R:   Rh   RA   RD   Ri   RL   Rv   (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   	  s    c         S` s   |  j  j d  d  S(   Nu   unexpected-char-in-frameset(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   	  s    c         S` s   |  j  j |  d  S(   N(   R:   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s$   |  j  j |  |  j  j j   d  S(   N(   R:   R   Rh   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRl  	  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRm  	  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu    unexpected-start-tag-in-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	  s    c         S` s   |  j  j d j d k r, |  j j d  n |  j  j j   |  j j r{ |  j  j d j d k r{ |  j j d |  j _ n  d  S(   Niu   htmlu)   unexpected-frameset-in-frameset-innerhtmlu   framesetu   afterFrameset(	   R:   Rh   RA   RD   Ri   R   RL   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn  	  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   unexpected-end-tag-in-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   	
  s    (   R5   R6   RC   Ru   Rn   R   Rl  Rm  R   Rn  R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRk  	  s   							t   AfterFramesetPhasec           ` sM   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         ` s}     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ t j d |  j f g  |  _	 |  j
 |  j	 _ d  S(   Nu   htmlu   noframes(   RC   R   R   R   Rm  R   R   R   R   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   
  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   
  s    c         S` s   |  j  j d  d  S(   Nu   unexpected-char-after-frameset(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   !
  s    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRm  $
  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu#   unexpected-start-tag-after-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   '
  s    c         S` s   |  j  j d |  j  _ d  S(   Nu   afterAfterFrameset(   RD   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   +
  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu!   unexpected-end-tag-after-framesetu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   .
  s    (	   R5   R6   RC   Ru   Rn   Rm  R   R   R   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo  
  s   					t   AfterAfterBodyPhasec           ` sV   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         ` sD     j  |  | |  t j d |  j f g  |  _ |  j |  j _ d  S(   Nu   html(   RC   R   R   R   R   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   3
  s    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   ;
  s    c         S` s   |  j  j | |  j  j  d  S(   N(   R:   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   >
  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   A
  s    c         S` s*   |  j  j d  |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-charu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   D
  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   I
  s    c         S` s8   |  j  j d i | d d 6 |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-start-tagu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   L
  s    c         S` s8   |  j  j d i | d d 6 |  j  j d |  j  _ | S(   Nu   expected-eof-but-got-end-tagu   nameu   inBody(   RD   Ri   R>   RW   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   R
  s    (
   R5   R6   RC   Ru   Rr   Ro   Rn   R   R   Rq   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRp  2
  s   						t   AfterAfterFramesetPhasec           ` s_   e  Z   f d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         ` sP     j  |  | |  t j d |  j f d |  j f g  |  _ |  j |  j _ d  S(   Nu   htmlu   noframes(   RC   R   R   R   t   startTagNoFramesR   R   R   (   R?   RD   R:   (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRC   Y
  s
    c         S` s   d  S(   N(    (   R?   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRu   b
  s    c         S` s   |  j  j | |  j  j  d  S(   N(   R:   R   R   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr   e
  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Ro   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRo   h
  s    c         S` s   |  j  j d  d  S(   Nu   expected-eof-but-got-char(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRn   k
  s    c         S` s   |  j  j d j |  S(   Nu   inBody(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   n
  s    c         S` s   |  j  j d j |  S(   Nu   inHead(   RD   R>   Rp   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRr  q
  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   expected-eof-but-got-start-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   t
  s    c         S` s"   |  j  j d i | d d 6 d  S(   Nu   expected-eof-but-got-end-tagu   name(   RD   Ri   (   R?   R~   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq   x
  s    (   R5   R6   RC   Ru   Rr   Ro   Rn   R   Rr  R   Rq   (    (   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyRq  X
  s   								u   initialu
   beforeHtmlu
   beforeHeadu   inHeadu   inHeadNoscriptu	   afterHeadu   inBodyu   textu   inTableu   inTableTextu	   inCaptionu   inColumnGroupu   inTableBodyu   inRowu   inCellu   inSelectu   inSelectInTableu   inForeignContentu	   afterBodyu
   inFramesetu   afterFramesetu   afterAfterBodyu   afterAfterFrameset(   R   (   R@   RP   R   R   R   R   R   R   R   R   R4  R6  RA  RE  RJ  RN  RT  RX  R\  Rb  Rc  Rj  Rk  Ro  Rp  Rq  (    (   R   sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR=   _  sh    		%)#.g@C  !-GBbYLd's/9%&%c         ` s}   t  s t j r, t |  d  t    @} n t |  d  t    @} | ry t   f d   |  d j   D  |  d <n  d  S(   Nu   datac         3` s-   |  ]# \ } }   j  | |  | f Vq d  S(   N(   Rj   (   R   t   kt   v(   Rd  (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pys	   <genexpr>
  s   (   R   R   t   PY27R   Rm   R   R(   (   R~   Rd  t   needs_adjustment(    (   Rd  sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   
  s    u   EndTagc         C` s9   | d  k r i  } n  i t | d 6|  d 6| d 6| d 6S(   Nu   typeu   nameu   datau   selfClosing(   R9   R   (   RA   R,   Rb   R  (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   
  s    	R   c           B` s   e  Z d  Z RS(   u   Error in parsed document(   R5   R6   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyR   
  s   (4   t
   __future__R    R   R   t   pip._vendor.sixR   R   R   R*   t   collectionsR   t   ImportErrort   pip._vendor.ordereddictt    R   R   R	   t   treebuilders.baseR
   R   t	   constantsR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R\   R   R&   R7   t   objectR   t   memoizeR=   R   R9   RN   R   t	   ExceptionR   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/html5lib/html5parser.pyt   <module>   s>   j	 (         C	
