Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
idna / lib / python2.7 / site-packages / pip / vendor / html5lib / inputstream.pyc
Size: Mime:
ó
•èRc!@`sÃddlmZmZmZddlmZddlZddlZddlm	Z	m
Z
mZmZddlm
Z
mZddlmZddlmZydd	lmZWnek
rÉeZnXydd
lmZWn'ek
rdefd„ƒYZnXege
D]Zejd
ƒ^qƒZegeD]Zejd
ƒ^q:ƒZegeD]Zejd
ƒ^qbƒZeeddgƒBZejdƒZe dddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0g ƒZ!ejd1ƒZ"iZ#d2d@d3„ƒYZ$de&e&d4„Z'd5dAd6„ƒYZ(d7e(fd8„ƒYZ)d9e*fd:„ƒYZ+d;efd<„ƒYZ,d=efd>„ƒYZ-d?„Z.dS(Bi(tabsolute_importtdivisiontunicode_literals(t	text_typeNi(tEOFtspaceCharacterstasciiLetterstasciiUppercase(t	encodingstReparseException(tutils(tStringIO(tBytesIO(tBufferedIOBaseR
cB`seZRS((t__name__t
__module__(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR
suasciit>t<u¡[---Ÿ�-�﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿񏿾񏿿񟿾񟿿񯿾񯿿񿿾񿿿򏿾򏿿򟿾򟿿򯿾򯿿򿿾򿿿󏿾󏿿󟿾󟿿󯿾󯿿󿿾󿿿􏿾􏿿]iþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿiÿÿiþÿ	iÿÿ	iþÿ
iÿÿ
iþÿiÿÿiþÿiÿÿiþÿ
iÿÿ
iþÿiÿÿiþÿiÿÿiþÿiÿÿu[	-
 -/:-@[-`{-~]tBufferedStreamcB`sMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(uÆBuffering for streams that do not have buffering of their own

    The buffer is implemented as a list of chunks on the assumption that
    joining many strings will be slow since it is O(n**2)
    cC`s%||_g|_ddg|_dS(Niÿÿÿÿi(tstreamtbuffertposition(tselfR((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt__init__5s		cC`sJd}x,|j|jd D]}|t|ƒ7}qW||jd7}|S(Nii(RRtlen(Rtpostchunk((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyttell:s
cC`sk||jƒkst‚|}d}x1t|j|ƒ|krW||8}|d7}q'W||g|_dS(Nii(t_bufferedBytestAssertionErrorRRR(RRtoffsetti((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytseekAs
cC`sp|js|j|ƒS|jdt|jƒkr_|jdt|jdƒkr_|j|ƒS|j|ƒSdS(Niiiÿÿÿÿ(Rt_readStreamRRt_readFromBuffer(Rtbytes((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytreadJs	
 
cC`s&tg|jD]}t|ƒ^q
ƒS(N(tsumRR(Rtitem((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRSscC`sL|jj|ƒ}|jj|ƒ|jdcd7<t|ƒ|jd<|S(Nii(RR$RtappendRR(RR#tdata((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR!Vs
cC`s"|}g}|jd}|jd}xÍ|t|jƒkrõ|dkrõ|dks\t‚|j|}|t|ƒ|kr›|}|||g|_n/t|ƒ|}|t|ƒg|_|d7}|j||||!ƒ||8}d}q)W|r|j|j|ƒƒndj|ƒS(Niiu(RRRRR'R!tjoin(RR#tremainingBytestrvtbufferIndextbufferOffsettbufferedDatatbytesToRead((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR"]s&

$



(
RRt__doc__RRR R$RR!R"(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR.s								cC`s{t|dƒr*t|jdƒtƒ}nt|tƒ}|rd|dk	rZtdƒ‚nt|ƒSt||||ƒSdS(Nureadiu7Cannot explicitly set an encoding with a unicode string(thasattrt
isinstanceR$RtNonet	TypeErrortHTMLUnicodeInputStreamtHTMLBinaryInputStream(tsourcetencodingt	parseMetatchardett	isUnicode((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytHTMLInputStreamxs
R5cB`s}eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z	d
d„Zd	„Zd
„Z
ed„Zd„ZRS(u×Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    i(cC`s†tdƒdkr3|j|_tjdƒ|_n|j|_tjdƒ|_dg|_d	|_|j	|ƒ|_
|jƒdS(
uInitialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        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)

        parseMeta - Look for a <meta> element containing encoding information

        u􏿿iu	[�-�]u0([�-�](?![�-�])|(?<![�-�])[�-�])iuutf-8ucertainN(uutf-8ucertain(RtcharacterErrorsUCS4treportCharacterErrorstretcompiletreplaceCharactersRegexptcharacterErrorsUCS2tnewLinestcharEncodingt
openStreamt
dataStreamtreset(RR7((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR‘s	cC`sCd|_d|_d|_g|_d|_d|_d|_dS(Nui(Rt	chunkSizetchunkOffsetterrorstprevNumLinestprevNumColsR3t_bufferedCharacter(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRG²s						cC`s(t|dƒr|}nt|ƒ}|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R1R(RR7R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyREÀs	cC`st|j}|jdd|ƒ}|j|}|jdd|ƒ}|dkr\|j|}n||d}||fS(Nu
iiÿÿÿÿi(RtcountRKtrfindRL(RRRtnLinestpositionLinetlastLinePostpositionColumn((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt	_positionÎs	
cC`s&|j|jƒ\}}|d|fS(u:Returns (line, col) of the current position in the stream.i(RTRI(Rtlinetcol((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRÙscC`sL|j|jkr%|jƒs%tSn|j}|j|}|d|_|S(uo Read one character from the stream or queue if available. Return
            EOF when EOF is reached.
        i(RIRHt	readChunkRR(RRItchar((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRXÞs	

cC`sX|dkr|j}n|j|jƒ\|_|_d|_d|_d|_|jj	|ƒ}|j
r…|j
|}d|_
n
|stSt|ƒdkröt
|dƒ}|dksÙd|koÔdknrö|d|_
|d }qön|j|ƒ|jjd|ƒ}|jd	d
ƒ}|jdd
ƒ}||_t|ƒ|_tS(Nuiiiÿÿÿÿi
iØiÿÛu�u
u
u
(R3t_defaultChunkSizeRTRHRKRLRRIRFR$RMtFalseRtordR>RAtsubtreplacetTrue(RRHR(tlastv((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRWís0				
(

	cC`s:x3tttj|ƒƒƒD]}|jjdƒqWdS(Nuinvalid-codepoint(trangeRtinvalid_unicode_retfindallRJR'(RR(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR=s"cC`st}xôtj|ƒD]ã}|r(qnt|jƒƒ}|jƒ}tj|||d!ƒr¢tj|||d!ƒ}|t	kr™|j
jdƒnt}q|dkrã|dkrã|t
|ƒdkrã|j
jdƒqt}|j
jdƒqWdS(Niuinvalid-codepointiØiÿßi(RZRatfinditerR[tgrouptstartR
tisSurrogatePairtsurrogatePairToCodepointtnon_bmp_invalid_codepointsRJR'R^R(RR(tskiptmatcht	codepointRtchar_val((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRBs 	c
C`s}yt||f}Wnštk
r°x&|D]}t|ƒdks+t‚q+Wdjg|D]}dt|ƒ^qZƒ}|sŒd|}ntjd|ƒ}t||f<nXg}x°tri|j|j	|j
ƒ}|dkrý|j
|jkr?Pq?nB|j
ƒ}||jkr?|j|j	|j
|!ƒ||_
Pn|j|j	|j
ƒ|jƒsºPqºqºWdj|ƒ}	|	S(uð Returns a string of characters from the stream up to but not
        including any character in 'characters' or EOF. 'characters' must be
        a container that supports the 'in' method and iteration over its
        characters.
        i€uu\x%02xu^%su[%s]+N(tcharsUntilRegExtKeyErrorR[RR)R?R@R^RjRRIR3RHtendR'RW(
Rt
characterstoppositetcharstctregexR+tmRotr((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt
charsUntil0s2

,
%		cC`so|dk	rk|jdkr=||j|_|jd7_qk|jd8_|j|j|kskt‚ndS(Nii(R3RIRRHR(RRX((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytunget_sN(RRR0RYRRGRERTRRXR3RWR=RBRZRwRx(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR5‡s	!					(		/R6cB`s\eZdZdeed„Zd„Zd„Zeed„Zd„Z	d„Z
d„ZRS(	u×Provides a unicode stream of characters to the HTMLTokenizer.

    This class takes care of character encoding and removing or replacing
    incorrect byte-sequences and also provides column and line tracking.

    cC`sŽ|j|ƒ|_tj||jƒt|ƒdf|_d|_d|_d|_|jddkr€|j
||ƒ|_n|jƒdS(uInitialises the HTMLInputStream.

        HTMLInputStream(source, [encoding]) -> Normalized stream from source
        for use by html5lib.

        source can be either a file-object, local filename or a string.

        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)

        parseMeta - Look for a <meta> element containing encoding information

        ucertainiiduwindows-1252iN(REt	rawStreamR5Rt	codecNameRDtnumBytesMetatnumBytesChardettdefaultEncodingR3tdetectEncodingRG(RR7R8R9R:((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRxs			cC`s6tj|jdƒ|jdƒ|_tj|ƒdS(Niureplace(tcodecst	getreaderRDRyRFR5RG(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRG scC`sUt|dƒr|}nt|ƒ}y|j|jƒƒWnt|ƒ}nX|S(uvProduces a file object from source.

        source can be either a file object, local filename or a string.

        uread(R1RR RR(RR7R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRE¥s	c
C`s’|jƒ}d}|dkr9|r9|jƒ}d}n|dkr8|r8d}yÐyddlm}Wn!tk
r‹ddlm}nXg}|ƒ}x[|jsø|jj	|j
ƒ}t|tƒsÑt
‚|sÛPn|j|ƒ|j|ƒqžW|jƒ|jd}|jjdƒWq8tk
r4q8Xn|dkrVd}|j}nidd6}	|jƒ|	krˆ|	|jƒ}n||fS(Nucertainu	tentativei(tUniversalDetectoruencodinguwindows-1252u
iso-8859-1(t	detectBOMR3tdetectEncodingMetatcharade.universaldetectorRtImportErrortchardet.universaldetectortdoneRyR$R|R2R#RR'tfeedtclosetresultR R}tlower(
RR9R:R8t
confidenceRtbufferstdetectorRtencodingSub((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR~¸sB	
	




cC`sÀ|jddkst‚t|ƒ}|d	kr:d}n|dkrJdS||jdkrv|jddf|_nF|jjdƒ|jƒ|df|_td|jd|fƒ‚dS(
Niucertainuutf-16u	utf-16-beu	utf-16-leuutf-8iuEncoding changed from %s to %s(uutf-16u	utf-16-beu	utf-16-le(RDRRzR3RyR RGR	(RtnewEncoding((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytchangeEncodingås	
cC`sØidtj6dtj6dtj6dtj6dtj6}|jjdƒ}t|t	ƒs_t
‚|j|d ƒ}d}|s¸|j|ƒ}d}|s¸|j|d ƒ}d}q¸n|jj|rÍ|pÐd	ƒ|S(
u©Attempts to detect at BOM at the start of the stream. If
        an encoding can be determined from the BOM return the name of the
        encoding otherwise return Noneuutf-8u	utf-16-leu	utf-16-beu	utf-32-leu	utf-32-beiiii(
RtBOM_UTF8tBOM_UTF16_LEtBOM_UTF16_BEtBOM_UTF32_LEtBOM_UTF32_BERyR$R2R#RtgetR (RtbomDicttstringR8R ((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR‚ôs 
cC`sk|jj|jƒ}t|tƒs*t‚t|ƒ}|jjdƒ|jƒ}|dkrgd}n|S(u9Report the encoding declared by the meta element
        iuutf-16u	utf-16-beu	utf-16-leuutf-8(uutf-16u	utf-16-beu	utf-16-le(	RyR$R{R2R#RtEncodingParserR tgetEncoding(RRtparserR8((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRƒs	N(RRR0R3R^RRGRER~R‘R‚Rƒ(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR6ps(		-		t
EncodingBytescB`s¡eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
ee
e	ƒZd	„Z
ee
ƒZed
„Zd„Zd„Zd
„ZRS(u£String-like object with an associated position and various extra methods
    If the position is ever greater than the string length then an exception is
    raisedcC`s+t|tƒst‚tj||jƒƒS(N(R2R#Rt__new__R‹(Rtvalue((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRž&scC`s
d|_dS(Niÿÿÿÿ(RT(RRŸ((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR*scC`s|S(N((R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt__iter__-scC`sS|jd}|_|t|ƒkr/t‚n|dkrDt‚n|||d!S(Nii(RTRt
StopIterationR4(Rtp((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt__next__0s		cC`s
|jƒS(N(R£(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytnext8scC`sY|j}|t|ƒkr$t‚n|dkr9t‚n|d|_}|||d!S(Nii(RTRR¡R4(RR¢((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytprevious<s			cC`s+|jt|ƒkrt‚n||_dS(N(RTRR¡(RR((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytsetPositionEs	cC`s<|jt|ƒkrt‚n|jdkr4|jSdSdS(Ni(RTRR¡R3(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytgetPositionJs
	cC`s||j|jd!S(Ni(R(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytgetCurrentByteTscC`sc|j}xJ|t|ƒkrU|||d!}||krH||_|S|d7}qW||_dS(uSkip past a list of charactersiN(RRRTR3(RRrR¢Rs((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRiYs			cC`sc|j}xJ|t|ƒkrU|||d!}||krH||_|S|d7}qW||_dS(Ni(RRRTR3(RRrR¢Rs((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt	skipUntiles			cC`sQ|j}|||t|ƒ!}|j|ƒ}|rM|jt|ƒ7_n|S(uÓLook for a sequence of bytes at the start of a string. If the bytes
        are found return True and advance the position to the byte after the
        match. Otherwise return False and leave the position alone(RRt
startswith(RR#R¢R(R+((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt
matchBytesps	cC`sh||jj|ƒ}|dkr^|jdkr=d|_n|j|t|ƒd7_tSt‚dS(uLook for the next sequence of bytes matching a given sequence. If
        a match is found advance the position to the last byte of the matchiÿÿÿÿiiN(RtfindRTRR^R¡(RR#tnewPosition((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pytjumpTo{s(RRR0RžRR R£R¤R¥R¦R§tpropertyRR¨tcurrentBytetspaceCharactersBytesRiR©R«R®(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR"s 												RšcB`s_eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„ZRS(
u?Mini parser for detecting character encoding from meta elementscC`st|ƒ|_d|_dS(u3string - the data to work on for encoding detectionN(RR(R3R8(RR(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRŒscC`sÎd|jfd|jfd|jfd|jfd|jfd|jff}xv|jD]k}t}xR|D]J\}}|jj|ƒrky|ƒ}PWqµtk
r±t	}PqµXqkqkW|sXPqXqXW|j
S(Ns<!--s<metas</s<!s<?R(t
handleCommentt
handleMetathandlePossibleEndTagthandleOtherthandlePossibleStartTagR(R^R«R¡RZR8(RtmethodDispatchtbytetkeepParsingtkeytmethod((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR›‘s&	
cC`s|jjdƒS(uSkip over commentss-->(R(R®(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR²¨scC`sK|jjtkrtSt}d}x"trF|jƒ}|dkrGtS|ddkr‰|ddk}|rC|dk	rC||_tSq%|ddkrË|d}t|ƒ}|dk	rC||_tSq%|ddkr%t	t
|dƒƒ}|jƒ}|dk	rCt|ƒ}|dk	r@|r4||_tS|}q@qCq%q%WdS(Nis
http-equiviscontent-typetcharsettcontent(R(R°R±R^RZR3tgetAttributeR8RztContentAttrParserRtparse(Rt	hasPragmatpendingEncodingtattrttentativeEncodingtcodect
contentParser((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR³¬s:		
		cC`s
|jtƒS(N(thandlePossibleTagRZ(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR¶ÐscC`st|jƒ|jtƒS(N(R¤R(RÇR^(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR´Ós
cC`s|j}|jtkr9|r5|jƒ|jƒntS|jtƒ}|dkra|jƒn+|jƒ}x|dk	r‹|jƒ}qpWtS(NR(
R(R°tasciiLettersBytesR¥RµR^R©tspacesAngleBracketsR¾R3(RtendTagR(RsRÃ((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRÇ×s	


cC`s|jjdƒS(NR(R(R®(R((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRµîscC`s¾|j}|jttdgƒBƒ}|dksIt|ƒdksIt‚|d	krYdSg}g}x¦tr
|dkr„|r„Pnz|tkr |jƒ}Pn^|d
kr¿dj|ƒdfS|t	krá|j
|jƒƒn|dkrñdS|j
|ƒt|ƒ}qhW|dkr7|j
ƒdj|ƒdfSt|ƒ|jƒ}|dkrÜ|}xØtrØt|ƒ}||kr¦t|ƒdj|ƒdj|ƒfS|t	krÈ|j
|jƒƒqb|j
|ƒqbWn^|dkrûdj|ƒdfS|t	kr|j
|jƒƒn|dkr-dS|j
|ƒx}tr¹t|ƒ}|tkrwdj|ƒdj|ƒfS|t	kr™|j
|jƒƒq=|dkr©dS|j
|ƒq=WdS(u_Return a name,value pair for the next attribute in the stream,
        if one is found, or Nonet/iRt=tt't"N(RN(RËR(RÎRÏ(R(RiR±t	frozensetR3RRR^R)tasciiUppercaseBytesR'R‹R¤R¥RÉ(RR(RstattrNamet	attrValuet	quoteChar((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR¾ñsh	$	


	

	(RRR0RR›R²R³R¶R´RÇRµR¾(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRš‰s				$				R¿cB`seZd„Zd„ZRS(cC`s"t|tƒst‚||_dS(N(R2R#RR((RR(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR?scC`s:y!|jjdƒ|jjd7_|jjƒ|jjdksHdS|jjd7_|jjƒ|jjdkrÐ|jj}|jjd7_|jj}|jj|ƒrÉ|j||jj!SdSnP|jj}y(|jjtƒ|j||jj!SWntk
r|j|SXWntk
r5dSXdS(NR¼iRÌRÏRÎ(RÏRÎ(	R(R®RRiR°R3R©R±R¡(Rt	quoteMarktoldPosition((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRÀCs.



(RRRRÀ(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyR¿>s	cC`spt|tƒr:y|jdƒ}Wq:tk
r6dSXn|rhtjd|ƒjƒ}tj	|dƒSdSdS(u{Return the python codec name corresponding to an encoding or None if the
    string doesn't correspond to a valid encoding.uasciiuN(
R2R#tdecodetUnicodeDecodeErrorR3tascii_punctuation_reR\R‹RR—(R8t
canonicalName((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyRzes
(((/t
__future__RRRtpip.vendor.sixRRR?t	constantsRRRRRR	RÍR
tioRRR…R
tobjectRÐR&tencodeR±RÈRÑRÉR@RatsetRhRÙRmRR3R^R<R5R6R#RRšR¿Rz(((sT/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/html5lib/inputstream.pyt<module>sJ"


(((Jé²gµ'