File "html5parser.cpython-36.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc
File size: 95.63 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

3

Pf@sFddlmZmZmZddlmZmZmZddlZyddl	m
Z
Wn ek
r`ddlm
Z
YnXddl
mZddl
mZddl
mZdd	lmZdd
l
mZddlmZmZmZmZmZmZmZmZmZmZmZm Z!m"Z"m#Z#m$Z$m%Z%d!ddZ&d"ddZ'ddZ(Gddde)Z*ej+ddZ,ddZ-d#ddZ.Gdd d e/Z0dS)$)absolute_importdivisionunicode_literals)with_metaclassviewkeysPY3N)OrderedDict)_inputstream)
_tokenizer)treebuilders)Marker)_utils)spaceCharactersasciiUpper2LowerspecialElementsheadingElements
cdataElementsrcdataElements
tokenTypes
tagTokenTypes
namespaceshtmlIntegrationPointElements"mathmlTextIntegrationPointElementsadjustForeignAttributesadjustMathMLAttributesadjustSVGAttributesEReparseExceptionetreeTcKs$tj|}t||d}|j|f|S)z.Parse a string or file-like object into a tree)namespaceHTMLElements)rgetTreeBuilder
HTMLParserparse)doctreebuilderr kwargstbpr)!/usr/lib/python3.6/html5parser.pyr#s
r#divcKs,tj|}t||d}|j|fd|i|S)N)r 	container)rr!r"
parseFragment)r$r,r%r r&r'r(r)r)r*r-&s
r-csGfdddt}|S)NcseZdZfddZdS)z-method_decorator_metaclass.<locals>.DecoratedcsBx0|jD]$\}}t|tjr&|}|||<q
Wtj||||S)N)items
isinstancetypesFunctionTypetype__new__)metaZ	classnamebasesZ	classDictZ
attributeNameZ	attribute)functionr)r*r3.s
z5method_decorator_metaclass.<locals>.Decorated.__new__N)__name__
__module____qualname__r3r))r6r)r*	Decorated-sr:)r2)r6r:r))r6r*method_decorator_metaclass,sr;c@seZdZdZd+ddZd,dd	Zd
dZedd
ZddZ	ddZ
ddZddZddZ
ddZd-ddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*ZdS).r"zZHTML parser. Generates a tree structure from a stream of (possibly
        malformed) HTMLNFTcsL|_|dkrtjd}||_g_tfddt|jD_dS)a
        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)
        Nrcs g|]\}}||jfqSr))tree).0namecls)selfr)r*
<listcomp>Msz'HTMLParser.__init__.<locals>.<listcomp>)	strictrr!r<errorsdict	getPhasesr.phases)r@r<rBr debugr))r@r*__init__<s


zHTMLParser.__init__r+cKsh||_||_||_tj|fd|i||_|jy|jWn$tk
rb|j|jYnXdS)Nparser)	
innerHTMLModer,	scriptingrZ
HTMLTokenizer	tokenizerresetmainLoopr)r@stream	innerHTMLr,rKr&r)r)r*_parsePszHTMLParser._parsecCs|jjd|_g|_g|_d|_|jr|jj|_	|j	t
krL|jj|j_
n0|j	tkrd|jj|j_
n|j	dkr||jj|j_
n|jd|_|jj|jnd|_	|jd|_d|_d|_d|_dS)NFz	no quirks	plaintext
beforeHtmlinitialT)r<rM
firstStartTagrClog
compatModerJr,lowerrPrrLrcdataStatestaterrawtextStateplaintextStaterFphaseinsertHtmlElementresetInsertionModeZ	lastPhaseZbeforeRCDataPhase
framesetOK)r@r)r)r*rM^s*





zHTMLParser.resetcCst|dsdS|jjjdjS)zThe name of the character encoding
        that was used to decode the input stream,
        or :obj:`None` if that is not determined yet.

        rLNr)hasattrrLrOcharEncodingr>)r@r)r)r*documentEncodings
zHTMLParser.documentEncodingcCsJ|jdkr6|jtdkr6d|jko4|jdjtdkS|j|jftkSdS)Nzannotation-xmlmathmlencoding	text/htmlapplication/xhtml+xml)rfrg)r>	namespacer
attributes	translaterr)r@elementr)r)r*isHTMLIntegrationPoints


z!HTMLParser.isHTMLIntegrationPointcCs|j|jftkS)N)rhr>r)r@rkr)r)r*isMathMLTextIntegrationPointsz'HTMLParser.isMathMLTextIntegrationPointcCsztd}td}td}td}td}td}td}x|jD]}d}	|}
x|
dk	r|
}	|jjrx|jjdnd}|r|jnd}|r|jnd}
|
d	}||kr|j|
d
|
jdid}
qVt|jjdksl||jj	ksl|j
|r ||kr|d
tddgksl|||fksl|tdkrP|
dkrP||krP|d
dksl|j
|rt||||fkrt|j}n
|jd}||kr|j|
}
qV||kr|j|
}
qV||kr|j|
}
qV||kr|j|
}
qV||kr|j|
}
qV||krV|j|
}
qVW||krD|	drD|	drD|jdd
|	d
iqDWd}g}x8|rt|j|j|jj}|r>|j|ks>tq>WdS)N
CharactersZSpaceCharactersStartTagEndTagCommentZDoctype
ParseErrorr	r2datadatavarsrr>ZmglyphZ
malignmarkrdzannotation-xmlsvginForeignContentselfClosingselfClosingAcknowledgedz&non-void-element-with-trailing-solidusT)rnormalizedTokensr<openElementsrhr>
parseErrorgetlendefaultNamespacerm	frozensetrrlr]rFprocessCharactersprocessSpaceCharactersprocessStartTag
processEndTagprocessCommentprocessDoctypeappend
processEOFAssertionError)r@ZCharactersTokenZSpaceCharactersTokenZ
StartTagTokenZEndTagTokenZCommentTokenZDoctypeTokenZParseErrorTokentokenZ
prev_token	new_tokencurrentNodeZcurrentNodeNamespaceZcurrentNodeNamer2r]Z	reprocessrFr)r)r*rNsp










zHTMLParser.mainLoopccs x|jD]}|j|VqWdS)N)rLnormalizeToken)r@rr)r)r*rzszHTMLParser.normalizedTokenscOs |j|ddf|||jjS)aParse 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
        FN)rQr<ZgetDocument)r@rOargsr&r)r)r*r#szHTMLParser.parsecOs|j|df|||jjS)a2Parse 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
        T)rQr<ZgetFragment)r@rOrr&r)r)r*r-szHTMLParser.parseFragmentXXX-undefined-errorcCs@|dkri}|jj|jjj||f|jr<tt||dS)N)rCrrLrOZpositionrBrrr)r@	errorcodertr)r)r*r|s
zHTMLParser.parseErrorcCsT|dtdkrP|d}t||d<t|t|dkrP|dj|ddd|S)z3 HTML5 specific normalizations to the token stream r2rorsNr	ry)rrr~update)r@rrawr)r)r*rszHTMLParser.normalizeTokencCst|tdS)N)adjust_attributesr)r@rr)r)r*rsz!HTMLParser.adjustMathMLAttributescCst|tdS)N)rr)r@rr)r)r*rszHTMLParser.adjustSVGAttributescCst|tdS)N)radjustForeignAttributesMap)r@rr)r)r*rsz"HTMLParser.adjustForeignAttributescCs|jjdS)N)rIr])r@rr)r)r*reparseTokenNormalszHTMLParser.reparseTokenNormalcCsd}ddddddddddd	d	d
dd}x|jjdddD]}|j}d}||jjdkrl|jsbtd}|j}|dkr~|js~t|r|j|jjkrq:||kr|j||}Pq:|r:|jd	}Pq:W||_dS)NFinSelectinCellinRowinTableBody	inCaption
inColumnGroupinTableinBody
inFrameset
beforeHead)selecttdthtrtbodytheadtfootcaptioncolgrouptableheadbodyframesethtmlr	rTrrrrry)rrrr)	r<r{r>rPrrhrrFr])r@ZlastZnewModesnodeZnodeNameZ	new_phaser)r)r*r_!sB


zHTMLParser.resetInsertionModecCsR|dkst|jj||dkr.|jj|j_n|jj|j_|j|_|j	d|_dS)zYGeneric RCDATA/RAWTEXT Parsing algorithm
        contentType - RCDATA or RAWTEXT
        RAWTEXTRCDATAtextN)rr)
rr<
insertElementrLr[rZrYr]
originalPhaserF)r@rZcontentTyper)r)r*parseRCDataRawtextMszHTMLParser.parseRCDataRawtext)NFTF)Fr+F)rN)r7r8r9__doc__rHrQrMpropertyrcrlrmrNrzr#r-r|rrrrrr_rr)r)r)r*r"8s&

"
C
,r"cs"dd}dd}Gdddt|||Gddd}Gd	d
d
}Gfddd}Gfd
dd}Gfddd}Gfddd}Gfddd}	Gfddd}
Gfddd}Gfddd}Gfddd}
Gfddd}Gfdd d }Gfd!d"d"}Gfd#d$d$}Gfd%d&d&}Gfd'd(d(}Gfd)d*d*}Gfd+d,d,}Gfd-d.d.}Gfd/d0d0}Gfd1d2d2}Gfd3d4d4}|||||||	|
|||
||||||||||||d5S)6Ncs(tddtjDfdd}|S)z4Logger that records which phase processes each tokencss|]\}}||fVqdS)Nr))r=keyvaluer)r)r*	<genexpr>csz)getPhases.<locals>.log.<locals>.<genexpr>csjjdrt|dkr|d}yd|di}WnYnX|dtkr\|d|d<|jjj|jjjj|jj	j
j|j
jj|f|f||S|f||SdS)NZprocessrr2r>)r7
startswithr~rrIrVrrLrZr]	__class__)r@rr&rinfo)r6
type_namesr)r*wrappedfs
z'getPhases.<locals>.log.<locals>.wrapped)rDrr.)r6rr))r6rr*rVaszgetPhases.<locals>.logcSs|rt|StSdS)N)r;r2)Z
use_metaclassZmetaclass_funcr)r)r*getMetaclasszszgetPhases.<locals>.getMetaclassc@sXeZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZdS)zgetPhases.<locals>.PhasezNBase class for helper object that implements each phase of processing
        cSs||_||_dS)N)rIr<)r@rIr<r)r)r*rHsz!getPhases.<locals>.Phase.__init__cSstdS)N)NotImplementedError)r@r)r)r*rsz#getPhases.<locals>.Phase.processEOFcSs|jj||jjddS)Nr	ry)r<
insertCommentr{)r@rr)r)r*rsz'getPhases.<locals>.Phase.processCommentcSs|jjddS)Nzunexpected-doctype)rIr|)r@rr)r)r*rsz'getPhases.<locals>.Phase.processDoctypecSs|jj|ddS)Nrs)r<
insertText)r@rr)r)r*rsz*getPhases.<locals>.Phase.processCharacterscSs|jj|ddS)Nrs)r<r)r@rr)r)r*rsz/getPhases.<locals>.Phase.processSpaceCharacterscSs|j|d|S)Nr>)startTagHandler)r@rr)r)r*rsz(getPhases.<locals>.Phase.processStartTagcSsl|jjr"|ddkr"|jjdx<|djD],\}}||jjdjkr0||jjdj|<q0Wd|j_dS)Nr>rz
non-html-rootrsrF)rIrUr|r.r<r{ri)r@rattrrr)r)r*startTagHtmlsz%getPhases.<locals>.Phase.startTagHtmlcSs|j|d|S)Nr>)
endTagHandler)r@rr)r)r*rsz&getPhases.<locals>.Phase.processEndTagN)
r7r8r9rrHrrrrrrrrr)r)r)r*Phases
rc@sLeZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)zgetPhases.<locals>.InitialPhasecSsdS)Nr))r@rr)r)r*rsz6getPhases.<locals>.InitialPhase.processSpaceCharacterscSs|jj||jjdS)N)r<rdocument)r@rr)r)r*rsz.getPhases.<locals>.InitialPhase.processCommentc8Ss|d}|d}|d}|d}|dks@|dk	s@|dk	rL|dkrL|jjd|dkrXd}|jj||dkrv|jt}|s|ddks|jdJs|dKks|jdLr|dks|r|jdDkrdE|j_n*|jdMs|jdNr|dk	rdH|j_|jj	dI|j_
dS)ONr>publicIdsystemIdcorrectrzabout:legacy-compatzunknown-doctype*+//silmaril//dtd html pro v0r11 19970101//4-//advasoft ltd//dtd html 3.0 aswedit + extensions//*-//as//dtd html 3.0 aswedit + extensions//-//ietf//dtd html 2.0 level 1//-//ietf//dtd html 2.0 level 2//&-//ietf//dtd html 2.0 strict level 1//&-//ietf//dtd html 2.0 strict level 2//-//ietf//dtd html 2.0 strict//-//ietf//dtd html 2.0//-//ietf//dtd html 2.1e//-//ietf//dtd html 3.0//-//ietf//dtd html 3.2 final//-//ietf//dtd html 3.2//-//ietf//dtd html 3//-//ietf//dtd html level 0//-//ietf//dtd html level 1//-//ietf//dtd html level 2//-//ietf//dtd html level 3//"-//ietf//dtd html strict level 0//"-//ietf//dtd html strict level 1//"-//ietf//dtd html strict level 2//"-//ietf//dtd html strict level 3//-//ietf//dtd html strict//-//ietf//dtd html//(-//metrius//dtd metrius presentational//5-//microsoft//dtd internet explorer 2.0 html strict//.-//microsoft//dtd internet explorer 2.0 html//0-//microsoft//dtd internet explorer 2.0 tables//5-//microsoft//dtd internet explorer 3.0 html strict//.-//microsoft//dtd internet explorer 3.0 html//0-//microsoft//dtd internet explorer 3.0 tables//#-//netscape comm. corp.//dtd html//*-//netscape comm. corp.//dtd strict html//*-//o'reilly and associates//dtd html 2.0//3-//o'reilly and associates//dtd html extended 1.0//;-//o'reilly and associates//dtd html extended relaxed 1.0//N-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//E-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//$-//spyglass//dtd html 2.0 extended//+-//sq//dtd html 2.0 hotmetal + extensions//--//sun microsystems corp.//dtd hotjava html//4-//sun microsystems corp.//dtd hotjava strict html//-//w3c//dtd html 3 1995-03-24//-//w3c//dtd html 3.2 draft//-//w3c//dtd html 3.2 final//-//w3c//dtd html 3.2//-//w3c//dtd html 3.2s draft//-//w3c//dtd html 4.0 frameset//#-//w3c//dtd html 4.0 transitional//(-//w3c//dtd html experimental 19960712//&-//w3c//dtd html experimental 970421//-//w3c//dtd w3 html//-//w3o//dtd w3 html 3.0//#-//webtechs//dtd mozilla html 2.0//-//webtechs//dtd mozilla html//$-//w3o//dtd w3 html strict 3.0//en//"-/w3c/dtd html 4.0 transitional/en -//w3c//dtd html 4.01 frameset//$-//w3c//dtd html 4.01 transitional//z:http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtdquirks -//w3c//dtd xhtml 1.0 frameset//$-//w3c//dtd xhtml 1.0 transitional//zlimited quirksrS)7rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrr)rr)r	r
)rr)rIr|r<Z
insertDoctyperjrrrXrWrFr])r@rr>rrrr)r)r*rs



z.getPhases.<locals>.InitialPhase.processDoctypecSsd|j_|jjd|j_dS)NrrS)rIrWrFr])r@r)r)r*anythingElsesz,getPhases.<locals>.InitialPhase.anythingElsecSs|jjd|j|S)Nzexpected-doctype-but-got-chars)rIr|r)r@rr)r)r*rsz1getPhases.<locals>.InitialPhase.processCharacterscSs"|jjdd|di|j|S)Nz"expected-doctype-but-got-start-tagr>)rIr|r)r@rr)r)r*rsz/getPhases.<locals>.InitialPhase.processStartTagcSs"|jjdd|di|j|S)Nz expected-doctype-but-got-end-tagr>)rIr|r)r@rr)r)r*rsz-getPhases.<locals>.InitialPhase.processEndTagcSs|jjd|jdS)Nzexpected-doctype-but-got-eofT)rIr|r)r@r)r)r*r%sz*getPhases.<locals>.InitialPhase.processEOFN)r7r8r9rrrrrrrrr)r)r)r*InitialPhases_rc@sDeZdZddZddZddZddZd	d
ZddZd
dZ	dS)z"getPhases.<locals>.BeforeHtmlPhasecSs&|jjtdd|jjd|j_dS)Nrror)r<Z
insertRootimpliedTagTokenrIrFr])r@r)r)r*r^,sz4getPhases.<locals>.BeforeHtmlPhase.insertHtmlElementcSs|jdS)NT)r^)r@r)r)r*r1sz-getPhases.<locals>.BeforeHtmlPhase.processEOFcSs|jj||jjdS)N)r<rr)r@rr)r)r*r5sz1getPhases.<locals>.BeforeHtmlPhase.processCommentcSsdS)Nr))r@rr)r)r*r8sz9getPhases.<locals>.BeforeHtmlPhase.processSpaceCharacterscSs|j|S)N)r^)r@rr)r)r*r;sz4getPhases.<locals>.BeforeHtmlPhase.processCharacterscSs |ddkrd|j_|j|S)Nr>rT)rIrUr^)r@rr)r)r*r?sz2getPhases.<locals>.BeforeHtmlPhase.processStartTagcSs4|ddkr$|jjdd|din|j|SdS)Nr>rrrbrzunexpected-end-tag-before-html)rrrr)rIr|r^)r@rr)r)r*rEs
z0getPhases.<locals>.BeforeHtmlPhase.processEndTagN)
r7r8r9r^rrrrrrr)r)r)r*BeforeHtmlPhase*srcsXeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)z"getPhases.<locals>.BeforeHeadPhasecsVj|||tjd|jfd|jfg|_|j|j_tjd|jfg|_	|j
|j	_dS)Nrrrr)rrrr)rHrMethodDispatcherrstartTagHeadr
startTagOtherdefaultendTagImplyHeadrendTagOther)r@rIr<)rr)r*rHNs
z+getPhases.<locals>.BeforeHeadPhase.__init__cSs|jtdddS)NrroT)rr
)r@r)r)r*r\sz-getPhases.<locals>.BeforeHeadPhase.processEOFcSsdS)Nr))r@rr)r)r*r`sz9getPhases.<locals>.BeforeHeadPhase.processSpaceCharacterscSs|jtdd|S)Nrro)rr
)r@rr)r)r*rcsz4getPhases.<locals>.BeforeHeadPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rgsz/getPhases.<locals>.BeforeHeadPhase.startTagHtmlcSs0|jj||jjd|j_|jjd|j_dS)Nr	inHeadry)r<rr{headPointerrIrFr])r@rr)r)r*rjsz/getPhases.<locals>.BeforeHeadPhase.startTagHeadcSs|jtdd|S)Nrro)rr
)r@rr)r)r*rosz0getPhases.<locals>.BeforeHeadPhase.startTagOthercSs|jtdd|S)Nrro)rr
)r@rr)r)r*rssz2getPhases.<locals>.BeforeHeadPhase.endTagImplyHeadcSs|jjdd|didS)Nzend-tag-after-implied-rootr>)rIr|)r@rr)r)r*rwsz.getPhases.<locals>.BeforeHeadPhase.endTagOtherN)r7r8r9rHrrrrrrrrr))rr)r*BeforeHeadPhaseMsrcseZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!S)"zgetPhases.<locals>.InHeadPhasecsj|||tjd|jfd|jfd|jfd|jfd|jfd|jfd|j	fd
|j
fg|_|j|j_
tjd
|jfd|jfg|_|j|j_
dS)Nrtitlenoframesstylenoscriptscriptbasebasefontbgsoundcommandlinkr4rrr)rr)rrr r!r")rrr)rHrrr
startTagTitlestartTagNoFramesStylestartTagNoscriptstartTagScriptstartTagBaseLinkCommandstartTagMetarrrr
endTagHeadendTagHtmlBodyBrrr)r@rIr<)rr)r*rH|s 
z'getPhases.<locals>.InHeadPhase.__init__cSs|jdS)NT)r)r@r)r)r*rsz)getPhases.<locals>.InHeadPhase.processEOFcSs|j|S)N)r)r@rr)r)r*rsz0getPhases.<locals>.InHeadPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz+getPhases.<locals>.InHeadPhase.startTagHtmlcSs|jjddS)Nz!two-heads-are-not-better-than-one)rIr|)r@rr)r)r*rsz+getPhases.<locals>.InHeadPhase.startTagHeadcSs$|jj||jjjd|d<dS)NTrx)r<rr{pop)r@rr)r)r*r'sz6getPhases.<locals>.InHeadPhase.startTagBaseLinkCommandcSs|jj||jjjd|d<|d}|jjjjddkrd|krZ|jjjj|dnVd|krd|kr|dj	d	krt
j|djd
}t
j
|}|j}|jjjj|dS)NTrxrsr	Z	tentativecharsetZcontentz
http-equivzcontent-typezutf-8)r<rr{r+rIrLrOrbZchangeEncodingrXr
Z
EncodingBytesencodeZContentAttrParserr#)r@rrirsrIcodecr)r)r*r(s
z+getPhases.<locals>.InHeadPhase.startTagMetacSs|jj|ddS)Nr)rIr)r@rr)r)r*r#sz,getPhases.<locals>.InHeadPhase.startTagTitlecSs|jj|ddS)Nr)rIr)r@rr)r)r*r$sz4getPhases.<locals>.InHeadPhase.startTagNoFramesStylecSs8|jjr|jj|dn|jj||jjd|j_dS)NrinHeadNoscript)rIrKrr<rrFr])r@rr)r)r*r%sz/getPhases.<locals>.InHeadPhase.startTagNoscriptcSs<|jj||jjj|jj_|jj|j_|jjd|j_dS)Nr)	r<rrIrLZscriptDataStaterZr]rrF)r@rr)r)r*r&sz-getPhases.<locals>.InHeadPhase.startTagScriptcSs|j|S)N)r)r@rr)r)r*rsz,getPhases.<locals>.InHeadPhase.startTagOthercSs:|jjjj}|jdks&td|j|jjd|j_dS)NrzExpected head got %s	afterHead)rIr<r{r+r>rrFr])r@rrr)r)r*r)sz)getPhases.<locals>.InHeadPhase.endTagHeadcSs|j|S)N)r)r@rr)r)r*r*sz/getPhases.<locals>.InHeadPhase.endTagHtmlBodyBrcSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*rsz*getPhases.<locals>.InHeadPhase.endTagOthercSs|jtddS)Nr)r)r
)r@r)r)r*rsz+getPhases.<locals>.InHeadPhase.anythingElseN)r7r8r9rHrrrrr'r(r#r$r%r&rr)r*rrr))rr)r*InHeadPhase{s r1csxeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZdS)z&getPhases.<locals>.InHeadNoscriptPhasecsfj|||tjd|jfd|jfd|jfg|_|j|j_tjd	|j	fd
|j
fg|_|j|j_dS)
Nrrr r"r4rrrrr)rr r"r4rr)rr)
rHrrrr'startTagHeadNoscriptrrrendTagNoscriptendTagBrrr)r@rIr<)rr)r*rHs
z/getPhases.<locals>.InHeadNoscriptPhase.__init__cSs|jjd|jdS)Nzeof-in-head-noscriptT)rIr|r)r@r)r)r*rsz1getPhases.<locals>.InHeadNoscriptPhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz5getPhases.<locals>.InHeadNoscriptPhase.processCommentcSs|jjd|j|S)Nzchar-in-head-noscript)rIr|r)r@rr)r)r*rsz8getPhases.<locals>.InHeadNoscriptPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz=getPhases.<locals>.InHeadNoscriptPhase.processSpaceCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz3getPhases.<locals>.InHeadNoscriptPhase.startTagHtmlcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r'sz>getPhases.<locals>.InHeadNoscriptPhase.startTagBaseLinkCommandcSs|jjdd|didS)Nzunexpected-start-tagr>)rIr|)r@rr)r)r*r2	sz;getPhases.<locals>.InHeadNoscriptPhase.startTagHeadNoscriptcSs"|jjdd|di|j|S)Nzunexpected-inhead-noscript-tagr>)rIr|r)r@rr)r)r*rsz4getPhases.<locals>.InHeadNoscriptPhase.startTagOthercSs:|jjjj}|jdks&td|j|jjd|j_dS)NrzExpected noscript got %sr)rIr<r{r+r>rrFr])r@rrr)r)r*r3sz5getPhases.<locals>.InHeadNoscriptPhase.endTagNoscriptcSs"|jjdd|di|j|S)Nzunexpected-inhead-noscript-tagr>)rIr|r)r@rr)r)r*r4sz/getPhases.<locals>.InHeadNoscriptPhase.endTagBrcSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*rsz2getPhases.<locals>.InHeadNoscriptPhase.endTagOthercSs|jtddS)Nr)r3r
)r@r)r)r*rsz3getPhases.<locals>.InHeadNoscriptPhase.anythingElseN)r7r8r9rHrrrrrr'r2rr3r4rrr))rr)r*InHeadNoscriptPhasesr5cspeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZdS)z!getPhases.<locals>.AfterHeadPhasec
snj|||tjd|jfd|jfd|jfd|jfd
|jfg|_|j	|j_
tjd|jfg|_|j
|j_
dS)Nrrrrrr r"r4rrrrrr)	rrr r"r4rrrr)rrr)rHrrrstartTagBodystartTagFramesetstartTagFromHeadrrrrr*rr)r@rIr<)rr)r*rH#s
z*getPhases.<locals>.AfterHeadPhase.__init__cSs|jdS)NT)r)r@r)r)r*r4sz,getPhases.<locals>.AfterHeadPhase.processEOFcSs|j|S)N)r)r@rr)r)r*r8sz3getPhases.<locals>.AfterHeadPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r<sz.getPhases.<locals>.AfterHeadPhase.startTagHtmlcSs(d|j_|jj||jjd|j_dS)NFr)rIr`r<rrFr])r@rr)r)r*r6?sz.getPhases.<locals>.AfterHeadPhase.startTagBodycSs |jj||jjd|j_dS)Nr)r<rrIrFr])r@rr)r)r*r7Dsz2getPhases.<locals>.AfterHeadPhase.startTagFramesetcSst|jjdd|di|jjj|jj|jjdj|x4|jjdddD]}|jdkrN|jjj	|PqNWdS)Nz#unexpected-start-tag-out-of-my-headr>rr	rry)
rIr|r<r{rrrFrr>remove)r@rrr)r)r*r8Hs
z2getPhases.<locals>.AfterHeadPhase.startTagFromHeadcSs|jjdd|didS)Nzunexpected-start-tagr>)rIr|)r@rr)r)r*rRsz.getPhases.<locals>.AfterHeadPhase.startTagHeadcSs|j|S)N)r)r@rr)r)r*rUsz/getPhases.<locals>.AfterHeadPhase.startTagOthercSs|j|S)N)r)r@rr)r)r*r*Ysz2getPhases.<locals>.AfterHeadPhase.endTagHtmlBodyBrcSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*r]sz-getPhases.<locals>.AfterHeadPhase.endTagOthercSs.|jjtdd|jjd|j_d|j_dS)NrrorT)r<rr
rIrFr]r`)r@r)r)r*r`sz.getPhases.<locals>.AfterHeadPhase.anythingElseN)r7r8r9rHrrrr6r7r8rrr*rrr))rr)r*AfterHeadPhase"s
r:cseZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgS)hzgetPhases.<locals>.InBodyPhasec,sj||||j|_tjd|jfdd|jfd|jfd|jfde|j	ft
|jfdf|jfd&|j
fdg|jfd*|jfd+|jfdh|jfd8|jfd9|jfdi|jfd=|jfd>|jfdj|jfdk|jfdH|jfdI|jfdJ|jfdK|jfdL|jfdM|jfdN|jfdl|j fdQ|j!fdm|j"fdn|j#fdV|j$fdW|j%fdo|j&fg!|_'|j(|j'_)tjd|j*fd|j+fdp|j,fd&|j-fd |j.fdq|j/ft
|j0fdr|j1fds|j2fd@|j3fg
|_4|j5|j4_)dS)tNrrrr r!r"r4rrrrraddressarticleaside
blockquotecenterdetailsdirr+dlfieldset
figcaptionfigurefooterheaderhgroupmainmenunavolr(sectionsummaryulprelistingformlidddtrRabbigcodeemfontissmallstrikestrongttunobrbuttonappletmarqueeobjectZxmprarearembedimgkeygenwbrparamsourcetrackinputhrimageisindextextareaZiframernoembedrrrprtoptionoptgroupZmathrurcolrframerrrrrrrdialog)	rrr r!r"r4rrr)r;r<r=r>r?r@rAr+rBrCrDrErFrGrHrIrJrKrLr(rMrNrO)rPrQ)rSrTrU)rWrXrYrZr[r\r]r^r_r`rarb)rerfrg)rhrrirjrkrl)rmrnro)rur)rvrw)rxry)rrzrr{rrrrrrr)r;r<r=r>rdr?r@r|rAr+rBrCrDrErFrGrHrQrIrJrKrLrPrMrNrO)rTrUrS)rVrWrXrYrZr[r\rcr]r^r_r`rarb)rerfrg)6rHprocessSpaceCharactersNonPrerrrrstartTagProcessInHeadr6r7startTagClosePrstartTagHeadingstartTagPreListingstartTagFormstartTagListItemstartTagPlaintext	startTagAstartTagFormattingstartTagNobrstartTagButtonstartTagAppletMarqueeObjectstartTagXmp
startTagTablestartTagVoidFormattingstartTagParamSource
startTagInput
startTagHr
startTagImagestartTagIsIndexstartTagTextareastartTagIFramer%startTagRawtextstartTagSelectstartTagRpRtstartTagOptstartTagMathstartTagSvgstartTagMisplacedrrr
endTagBody
endTagHtmlendTagBlock
endTagFormendTagPendTagListItem
endTagHeadingendTagFormattingendTagAppletMarqueeObjectr4rr)r@rIr<)rr)r*rHhs~
z'getPhases.<locals>.InBodyPhase.__init__cSs$|j|jko"|j|jko"|j|jkS)N)r>rhri)r@Znode1Znode2r)r)r*isMatchingFormattingElementsz:getPhases.<locals>.InBodyPhase.isMatchingFormattingElementcSs|jj||jjd}g}x<|jjdddD]&}|tkr@Pq0|j||r0|j|q0Wt|dksjtt|dkr|jjj	|d|jjj|dS)Nr	ryryry)
r<rr{activeFormattingElementsr
rrr~rr9)r@rrkZmatchingElementsrr)r)r*addFormattingElementsz3getPhases.<locals>.InBodyPhase.addFormattingElementc
Ss@td}x2|jjdddD]}|j|kr|jjdPqWdS)NrTrUrSr(rrrrrrrrr	z expected-closing-tag-but-got-eof)rTrUrSr(rrrrrrrrry)rr<r{r>rIr|)r@Zallowed_elementsrr)r)r*rs
z)getPhases.<locals>.InBodyPhase.processEOFcSsh|d}|j|_|jdrJ|jjdjdkrJ|jjd	jrJ|dd}|rd|jj|jj|dS)
Nrs
r	rPrQrtry)rPrQrtry)	r}rrr<r{r>Z
hasContent#reconstructActiveFormattingElementsr)r@rrsr)r)r*!processSpaceCharactersDropNewlines

z@getPhases.<locals>.InBodyPhase.processSpaceCharactersDropNewlinecSsT|ddkrdS|jj|jj|d|jjrPtdd|dDrPd|j_dS)NrscSsg|]}|tkqSr))r)r=charr)r)r*rAszDgetPhases.<locals>.InBodyPhase.processCharacters.<locals>.<listcomp>F)r<rrrIr`any)r@rr)r)r*rs
z0getPhases.<locals>.InBodyPhase.processCharacterscSs|jj|jj|ddS)Nrs)r<rr)r@rr)r)r*r}s
z;getPhases.<locals>.InBodyPhase.processSpaceCharactersNonPrecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r~sz4getPhases.<locals>.InBodyPhase.startTagProcessInHeadcSs|jjdddit|jjdks4|jjdjdkrB|jjstnFd|j_x<|dj	D],\}}||jjdj
krX||jjdj
|<qXWdS)Nzunexpected-start-tagr>rr	Frs)rIr|r~r<r{r>rPrr`r.ri)r@rrrr)r)r*r6sz+getPhases.<locals>.InBodyPhase.startTagBodycSs|jjdddit|jjdks4|jjdjdkrB|jjstnt|jjsLnj|jjdj	rv|jjdj	j
|jjdx"|jjdjdkr|jjjqxW|jj||jj
d|j_dS)	Nzunexpected-start-tagr>rr	rrrry)rIr|r~r<r{r>rPrr`parentremoveChildr+rrFr])r@rr)r)r*r7s"z/getPhases.<locals>.InBodyPhase.startTagFramesetcSs.|jjdddr|jtd|jj|dS)Nr(rd)variant)r<elementInScoperr
r)r@rr)r)r*r	sz-getPhases.<locals>.InBodyPhase.startTagClosePcSs>|jjdddr|jtd|jj|d|j_|j|_dS)Nr(rd)rF)	r<rrr
rrIr`rr)r@rr)r)r*rs
z1getPhases.<locals>.InBodyPhase.startTagPreListingcSsZ|jjr|jjdddin:|jjdddr:|jtd|jj||jjd|j_dS)	Nzunexpected-start-tagr>rRr(rd)rr	ry)	r<formPointerrIr|rrr
rr{)r@rr)r)r*rsz+getPhases.<locals>.InBodyPhase.startTagFormcSsd|j_dgddgddgd}||d}xLt|jjD]<}|j|kr^|jjjt|jdP|j	t
kr8|jd
kr8Pq8W|jjd
ddr|jjjtd
d|jj|dS)NFrSrUrT)rSrUrTr>rpr;r+r(rd)r)r;r+r()
rIr`reversedr<r{r>r]rr
	nameTuplerrr)r@rZstopNamesMapZ	stopNamesrr)r)r*rs"


z/getPhases.<locals>.InBodyPhase.startTagListItemcSs>|jjdddr|jtd|jj||jjj|jj_dS)Nr(rd)r)	r<rrr
rrIrLr\rZ)r@rr)r)r*r4sz0getPhases.<locals>.InBodyPhase.startTagPlaintextcSsb|jjdddr|jtd|jjdjtkrR|jjdd|di|jjj	|jj
|dS)Nr(rd)rr	zunexpected-start-tagr>ry)r<rrr
r{r>rrIr|r+r)r@rr)r)r*r:sz.getPhases.<locals>.InBodyPhase.startTagHeadingcSs~|jjd}|rf|jjdddd|jtd||jjkrL|jjj|||jjkrf|jjj||jj	|j
|dS)NrVz$unexpected-start-tag-implies-end-tag)	startNameendName)r<!elementInActiveFormattingElementsrIr|rr
r{r9rrr)r@rZafeAElementr)r)r*rBs
z(getPhases.<locals>.InBodyPhase.startTagAcSs|jj|j|dS)N)r<rr)r@rr)r)r*rOs
z1getPhases.<locals>.InBodyPhase.startTagFormattingcSsP|jj|jjdrB|jjdddd|jtd|jj|j|dS)Nrcz$unexpected-start-tag-implies-end-tag)rr)r<rrrIr|rr
r)r@rr)r)r*rSs

z+getPhases.<locals>.InBodyPhase.startTagNobrcSsT|jjdr2|jjdddd|jtd|S|jj|jj|d|j_dS)Nrdz$unexpected-start-tag-implies-end-tag)rrF)	r<rrIr|rr
rrr`)r@rr)r)r*r]s
z-getPhases.<locals>.InBodyPhase.startTagButtoncSs0|jj|jj||jjjtd|j_dS)NF)r<rrrrr
rIr`)r@rr)r)r*rhs
z:getPhases.<locals>.InBodyPhase.startTagAppletMarqueeObjectcSsB|jjdddr|jtd|jjd|j_|jj|ddS)Nr(rd)rFr)r<rrr
rrIr`r)r@rr)r)r*rns

z*getPhases.<locals>.InBodyPhase.startTagXmpcSsR|jjdkr*|jjdddr*|jtd|jj|d|j_|jjd|j_	dS)Nrr(rd)rFr)
rIrWr<rrr
rr`rFr])r@rr)r)r*rusz,getPhases.<locals>.InBodyPhase.startTagTablecSs6|jj|jj||jjjd|d<d|j_dS)NTrxF)r<rrr{r+rIr`)r@rr)r)r*r}s

z5getPhases.<locals>.InBodyPhase.startTagVoidFormattingcSs@|jj}|j|d|dkr<|ddjtdkr<||j_dS)Nr2rshidden)rIr`rrjr)r@rr`r)r)r*rs

z,getPhases.<locals>.InBodyPhase.startTagInputcSs$|jj||jjjd|d<dS)NTrx)r<rr{r+)r@rr)r)r*rsz2getPhases.<locals>.InBodyPhase.startTagParamSourcecSsJ|jjdddr|jtd|jj||jjjd|d<d|j_dS)Nr(rd)rTrxF)	r<rrr
rr{r+rIr`)r@rr)r)r*rsz)getPhases.<locals>.InBodyPhase.startTagHrcSs6|jjdddd|jtdd|d|dddS)	Nzunexpected-start-tag-treated-asrrrj)originalNamenewNamerorsrw)rirw)rIr|rr
)r@rr)r)r*rs

z,getPhases.<locals>.InBodyPhase.startTagImagecSs|jjdddi|jjrdSi}d|dkr>|dd|d<|jtdd|d|jtd	d|jtd
dd|dkr|dd}nd}|jtd
|d|dj}d|kr|d=d|kr|d=d|d<|jtdd||dd|j	td
|jtd	d|j	tddS)Nzdeprecated-tagr>rsactionrsrRro)rirqZlabelpromptz3This is a searchable index. Enter search keywords: rn)r2rsrprw)rirw)
rIr|r<rrr
rrcopyr)r@rZ
form_attrsrrir)r)r*rs6


z.getPhases.<locals>.InBodyPhase.startTagIsIndexcSs0|jj||jjj|jj_|j|_d|j_dS)NF)	r<rrIrLrYrZrrr`)r@rr)r)r*rsz/getPhases.<locals>.InBodyPhase.startTagTextareacSsd|j_|j|dS)NF)rIr`r)r@rr)r)r*rsz-getPhases.<locals>.InBodyPhase.startTagIFramecSs"|jjr|j|n
|j|dS)N)rIrKrr)r@rr)r)r*r%sz/getPhases.<locals>.InBodyPhase.startTagNoscriptcSs|jj|ddS)z8iframe, noembed noframes, noscript(if scripting enabled)rN)rIr)r@rr)r)r*rsz.getPhases.<locals>.InBodyPhase.startTagRawtextcSs@|jjdjdkr$|jjjtd|jj|jjj|dS)Nr	rxry)	r<r{r>rIr]rr
rr)r@rr)r)r*rs
z*getPhases.<locals>.InBodyPhase.startTagOptcSs|jj|jj|d|j_|jj|jjd|jjd|jjd|jjd|jjd|jjdfkrx|jjd|j_n|jjd	|j_dS)
NFrrrrrrinSelectInTabler)r<rrrIr`r]rF)r@rr)r)r*rs




z-getPhases.<locals>.InBodyPhase.startTagSelectcSsB|jjdr2|jj|jjdjdkr2|jj|jj|dS)Nrubyr	ry)r<rgenerateImpliedEndTagsr{r>rIr|r)r@rr)r)r*rs


z+getPhases.<locals>.InBodyPhase.startTagRpRtcSsZ|jj|jj||jj|td|d<|jj||drV|jjjd|d<dS)NrdrhrwTrx)	r<rrIrrrrr{r+)r@rr)r)r*rs
z+getPhases.<locals>.InBodyPhase.startTagMathcSsZ|jj|jj||jj|td|d<|jj||drV|jjjd|d<dS)NrurhrwTrx)	r<rrIrrrrr{r+)r@rr)r)r*rs
z*getPhases.<locals>.InBodyPhase.startTagSvgcSs|jjdd|didS)a5 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"
            zunexpected-start-tag-ignoredr>N)rIr|)r@rr)r)r*rsz0getPhases.<locals>.InBodyPhase.startTagMisplacedcSs|jj|jj|dS)N)r<rr)r@rr)r)r*rs
z,getPhases.<locals>.InBodyPhase.startTagOthercSs|jjdddsD|jtdd|jjdddi|jtddnX|jjd|jjd	j	dkrt|jjdddi|jjj
}x|j	dkr|jjj
}qWdS)
Nr(rd)rrozunexpected-end-tagr>rpr	ry)r<rrr
rIr|rrr{r>r+)r@rrr)r)r*rsz&getPhases.<locals>.InBodyPhase.endTagPcSs|jjds|jjdS|jjdjdkrlx>|jjddD]*}|jtdkr>|jjdd|jdPq>W|jjd|j_dS)Nrr	rTrUrSryrxr(rvrwrrrrrrrz$expected-one-end-tag-but-got-another)gotNameexpectedName	afterBodyry)rTrUrSryrxr(rvrwrrrrrrrr)	r<rrIr|r{r>rrFr])r@rrr)r)r*r!s
z)getPhases.<locals>.InBodyPhase.endTagBodycSs"|jjdr|jtd|SdS)Nr)r<rrr
)r@rr)r)r*r3sz)getPhases.<locals>.InBodyPhase.endTagHtmlcSs|ddkr|j|_|jj|d}|r2|jj|jjdj|dkr^|jjdd|di|r|jjj	}x|j|dkr|jjj	}qpWdS)Nr>rPr	zend-tag-too-earlyry)
r}rr<rrr{r>rIr|r+)r@rZinScoperr)r)r*r9s
z*getPhases.<locals>.InBodyPhase.endTagBlockcSsx|jj}d|j_|dks&|jj|r:|jjdddin:|jj|jjd|krf|jjdddi|jjj|dS)Nzunexpected-end-tagr>rRr	zend-tag-too-early-ignoredry)r<rrrIr|rr{r9)r@rrr)r)r*rGs

z)getPhases.<locals>.InBodyPhase.endTagFormcSs|ddkrd}nd}|jj|d|dsB|jjdd|dinj|jj|dd|jjd	j|dkr|jjdd|di|jjj}x|j|dkr|jjj}qWdS)
Nr>rSlist)rzunexpected-end-tag)excluder	zend-tag-too-earlyry)r<rrIr|rr{r>r+)r@rrrr)r)r*rTsz-getPhases.<locals>.InBodyPhase.endTagListItemcSsx$tD]}|jj|r|jjPqW|jjdj|dkrR|jjdd|dixBtD]:}|jj|rX|jjj}x|jtkr|jjj}qvWPqXWdS)Nr	r>zend-tag-too-earlyry)	rr<rrr{r>rIr|r+)r@ritemr)r)r*res


z,getPhases.<locals>.InBodyPhase.endTagHeadingcSs"d}x|dkr|d7}|jj|d}|sL||jjkrZ|jj|jrZ|j|dS||jjkr|jjdd|di|jjj	|dS|jj|js|jjdd|didS||jjdkr|jjdd|di|jjj
|}d}x,|jj|dD]}|jtkr|}PqW|dkrb|jjj
}x||krN|jjj
}q4W|jjj	|dS|jj|d}|jjj
|}|}	}
d}|jjj
|
}x|d	krh|d7}|d8}|jj|}
|
|jjkr|jjj	|
q|
|krP|	|kr
|jjj
|
d}|
j}
|
|jj|jjj
|
<|
|jj|jjj
|
<|
}
|	jrV|	jj|	|
j|	|
}	qW|	jr~|	jj|	|jtdkr|jj\}}|j|	|n
|j|	|j}
|j|
|j|
|jjj	||jjj||
|jjj	||jjj|jjj
|d|
qWdS)z)The much-feared adoption agency algorithmrr	r>Nzadoption-agency-1.2zadoption-agency-4.4zadoption-agency-1.3rrrrrrry)rrrrr)r<rr{rr>rrIr|rr9indexrrr+Z	cloneNoderrZappendChildrZgetTableMisnestedNodePositioninsertBeforeZreparentChildreninsert)r@rZouterLoopCounterZformattingElementZafeIndexZ
furthestBlockrkZcommonAncestorZbookmarkZlastNoderZinnerLoopCounterrZclonerrr)r)r*rts











z/getPhases.<locals>.InBodyPhase.endTagFormattingcSs|jj|dr|jj|jjdj|dkrF|jjdd|di|jj|dr|jjj}x|j|dkr|jjj}qdW|jjdS)Nr>r	zend-tag-too-earlyry)	r<rrr{r>rIr|r+clearActiveFormattingElements)r@rrkr)r)r*rs
z8getPhases.<locals>.InBodyPhase.endTagAppletMarqueeObjectcSs@|jjdddd|jj|jjtdd|jjjdS)Nzunexpected-end-tag-treated-asrz
br element)rrro)rIr|r<rrr
r{r+)r@rr)r)r*r4#s

z'getPhases.<locals>.InBodyPhase.endTagBrcSsx|jjdddD]}|j|dkr~|jj|dd|jjdj|dkrd|jjdd|dix|jjj|krxqfWPq|jtkr|jjdd|diPqWdS)Nr	r>)rzunexpected-end-tagryry)	r<r{r>rrIr|r+rr)r@rrr)r)r*r*s
z*getPhases.<locals>.InBodyPhase.endTagOtherN)6r7r8r9rHrrrrrr}r~r6r7rrrrrrrrrrrrrrrrrrrrrr%rrrrrrrrrrrrrrrrrr4rr))rr)r*InBodyPhaseeshG

	

	

$rcs@eZdZfddZddZddZddZd	d
ZddZd
S)zgetPhases.<locals>.TextPhasecsFj|||tjg|_|j|j_tjd|jfg|_|j|j_dS)Nr)	rHrrrrrendTagScriptrr)r@rIr<)rr)r*rH9s
z%getPhases.<locals>.TextPhase.__init__cSs|jj|ddS)Nrs)r<r)r@rr)r)r*rAsz.getPhases.<locals>.TextPhase.processCharacterscSs8|jjdd|jjdji|jjj|jj|j_dS)Nz&expected-named-closing-tag-but-got-eofr>r	Try)rIr|r<r{r>r+rr])r@r)r)r*rDs
z'getPhases.<locals>.TextPhase.processEOFcSsdstd|ddS)NFz4Tried to process start tag %s in RCDATA/RAWTEXT moder>)r)r@rr)r)r*rKsz*getPhases.<locals>.TextPhase.startTagOthercSs*|jjj}|jdkst|jj|j_dS)Nr)r<r{r+r>rrIrr])r@rrr)r)r*rNsz)getPhases.<locals>.TextPhase.endTagScriptcSs|jjj|jj|j_dS)N)r<r{r+rIrr])r@rr)r)r*rUsz(getPhases.<locals>.TextPhase.endTagOtherN)	r7r8r9rHrrrrrr))rr)r*	TextPhase8srcseZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'S)(zgetPhases.<locals>.InTablePhasec
sj|||tjd|jfd|jfd|jfd|jfd|jfd|jfd|j	fd|j
fd|jfd|jfg
|_
|j|j
_tjd|jfd|jfg|_|j|j_dS)NrrrrzrrrrrrrrrrprRr)rrr)rrr)rr)rrrzrrrrrrrr)rHrrrstartTagCaptionstartTagColgroupstartTagColstartTagRowGroupstartTagImplyTbodyrstartTagStyleScriptrrrrrendTagTableendTagIgnorerr)r@rIr<)rr)r*rH[s$
z(getPhases.<locals>.InTablePhase.__init__cSs(x"|jjdjdkr"|jjjqWdS)Nr	rrry)rr)r<r{r>r+)r@r)r)r*clearStackToTableContextssz8getPhases.<locals>.InTablePhase.clearStackToTableContextcSs0|jjdjdkr |jjdn|jjs,tdS)Nr	rzeof-in-tablery)r<r{r>rIr|rPr)r@r)r)r*r|sz*getPhases.<locals>.InTablePhase.processEOFcSs4|jj}|jjd|j_||jj_|jjj|dS)NinTableText)rIr]rFrr)r@rrr)r)r*rs
z6getPhases.<locals>.InTablePhase.processSpaceCharacterscSs4|jj}|jjd|j_||jj_|jjj|dS)Nr)rIr]rFrr)r@rrr)r)r*rs
z1getPhases.<locals>.InTablePhase.processCharacterscSs&d|j_|jjdj|d|j_dS)NTrF)r<insertFromTablerIrFr)r@rr)r)r*rsz*getPhases.<locals>.InTablePhase.insertTextcSs6|j|jjjt|jj||jjd|j_dS)Nr)	rr<rrr
rrIrFr])r@rr)r)r*rsz/getPhases.<locals>.InTablePhase.startTagCaptioncSs(|j|jj||jjd|j_dS)Nr)rr<rrIrFr])r@rr)r)r*rsz0getPhases.<locals>.InTablePhase.startTagColgroupcSs|jtdd|S)Nrro)rr
)r@rr)r)r*rsz+getPhases.<locals>.InTablePhase.startTagColcSs(|j|jj||jjd|j_dS)Nr)rr<rrIrFr])r@rr)r)r*rsz0getPhases.<locals>.InTablePhase.startTagRowGroupcSs|jtdd|S)Nrro)rr
)r@rr)r)r*rsz2getPhases.<locals>.InTablePhase.startTagImplyTbodycSs6|jjdddd|jjjtd|jjs2|SdS)Nz$unexpected-start-tag-implies-end-tagr)rr)rIr|r]rr
rP)r@rr)r)r*rs
z-getPhases.<locals>.InTablePhase.startTagTablecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz3getPhases.<locals>.InTablePhase.startTagStyleScriptcSsVd|dkrH|ddjtdkrH|jjd|jj||jjjn
|j|dS)Nr2rsrz unexpected-hidden-input-in-table)	rjrrIr|r<rr{r+r)r@rr)r)r*rsz-getPhases.<locals>.InTablePhase.startTagInputcSsD|jjd|jjdkr@|jj||jjd|j_|jjjdS)Nzunexpected-form-in-tabler	ry)rIr|r<rrr{r+)r@rr)r)r*rs
z,getPhases.<locals>.InTablePhase.startTagFormcSs<|jjdd|did|j_|jjdj|d|j_dS)Nz)unexpected-start-tag-implies-table-voodoor>TrF)rIr|r<rrFr)r@rr)r)r*rsz-getPhases.<locals>.InTablePhase.startTagOthercSs|jjdddr|jj|jjdjdkrJ|jjdd|jjdjdx"|jjdjdkrl|jjjqLW|jjj|jjn|jj	st
|jjdS)	Nr)rr	zend-tag-too-early-named)rrryryry)r<rrr{r>rIr|r+r_rPr)r@rr)r)r*rs
z+getPhases.<locals>.InTablePhase.endTagTablecSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*rsz,getPhases.<locals>.InTablePhase.endTagIgnorecSs<|jjdd|did|j_|jjdj|d|j_dS)Nz'unexpected-end-tag-implies-table-voodoor>TrF)rIr|r<rrFr)r@rr)r)r*rsz+getPhases.<locals>.InTablePhase.endTagOtherN)r7r8r9rHrrrrrrrrrrrrrrrrrrr))rr)r*InTablePhaseYs&	
rcsPeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)z#getPhases.<locals>.InTableTextPhasecsj|||d|_g|_dS)N)rHrcharacterTokens)r@rIr<)rr)r*rHsz,getPhases.<locals>.InTableTextPhase.__init__cSsddjdd|jD}tdd|DrJtd|d}|jjdj|n|rZ|jj|g|_dS)NrcSsg|]}|dqS)rsr))r=rr)r)r*rAszGgetPhases.<locals>.InTableTextPhase.flushCharacters.<locals>.<listcomp>cSsg|]}|tkqSr))r)r=rr)r)r*rAsrn)r2rsr)joinrrrrIrFrr<)r@rsrr)r)r*flushCharacterssz3getPhases.<locals>.InTableTextPhase.flushCharacterscSs|j|j|j_|S)N)rrrIr])r@rr)r)r*rs
z2getPhases.<locals>.InTableTextPhase.processCommentcSs|j|j|j_dS)NT)rrrIr])r@r)r)r*rs
z.getPhases.<locals>.InTableTextPhase.processEOFcSs |ddkrdS|jj|dS)Nrsr)rr)r@rr)r)r*rsz5getPhases.<locals>.InTableTextPhase.processCharacterscSs|jj|dS)N)rr)r@rr)r)r*rsz:getPhases.<locals>.InTableTextPhase.processSpaceCharacterscSs|j|j|j_|S)N)rrrIr])r@rr)r)r*r
s
z3getPhases.<locals>.InTableTextPhase.processStartTagcSs|j|j|j_|S)N)rrrIr])r@rr)r)r*rs
z1getPhases.<locals>.InTableTextPhase.processEndTagN)r7r8r9rHrrrrrrrr))rr)r*InTableTextPhases	rcs`eZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZdS)z!getPhases.<locals>.InCaptionPhasec
sfj|||tjd|jfd
|jfg|_|j|j_tjd|jfd|j	fd|j
fg|_|j|j_dS)Nrrrzrrrrrrrrr)	rrzrrrrrrr)
rrzrrrrrrrr)
rHrrrstartTagTableElementrrr
endTagCaptionrrrr)r@rIr<)rr)r*rHs
z*getPhases.<locals>.InCaptionPhase.__init__cSs|jjdddS)Nrr)r)r<r)r@r)r)r*ignoreEndTagCaption+sz5getPhases.<locals>.InCaptionPhase.ignoreEndTagCaptioncSs|jjdjdS)Nr)rIrFr)r@r)r)r*r.sz,getPhases.<locals>.InCaptionPhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r1sz3getPhases.<locals>.InCaptionPhase.processCharacterscSs0|jj|j}|jjjtd|s,|SdS)Nr)rIr|rr]rr
)r@rignoreEndTagr)r)r*r4s

z6getPhases.<locals>.InCaptionPhase.startTagTableElementcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r<sz/getPhases.<locals>.InCaptionPhase.startTagOthercSs|js|jj|jjdjdkrB|jjdd|jjdjdx"|jjdjdkrd|jjjqDW|jjj|jj|jj	d|j_
n|jjst|jjdS)	Nr	rz$expected-one-end-tag-but-got-another)rrrryryry)
rr<rr{r>rIr|r+rrFr]rPr)r@rr)r)r*r?s

z/getPhases.<locals>.InCaptionPhase.endTagCaptioncSs0|jj|j}|jjjtd|s,|SdS)Nr)rIr|rr]rr
)r@rrr)r)r*rQs

z-getPhases.<locals>.InCaptionPhase.endTagTablecSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*rXsz.getPhases.<locals>.InCaptionPhase.endTagIgnorecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r[sz-getPhases.<locals>.InCaptionPhase.endTagOtherN)
r7r8r9rHrrrrrrrrrr))rr)r*InCaptionPhasesrcsXeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)z%getPhases.<locals>.InColumnGroupPhasecs^j|||tjd|jfd|jfg|_|j|j_tjd|jfd|j	fg|_
|j|j
_dS)Nrrzr)rHrrrrrrrendTagColgroup	endTagColrr)r@rIr<)rr)r*rHas
z.getPhases.<locals>.InColumnGroupPhase.__init__cSs|jjdjdkS)Nr	rry)r<r{r>)r@r)r)r*ignoreEndTagColgrouppsz:getPhases.<locals>.InColumnGroupPhase.ignoreEndTagColgroupcSsD|jjdjdkr"|jjstdS|j}|jtd|s@dSdS)Nr	rrTry)	r<r{r>rIrPrrrr
)r@rr)r)r*rssz0getPhases.<locals>.InColumnGroupPhase.processEOFcSs"|j}|jtd|s|SdS)Nr)rrr
)r@rrr)r)r*r}sz7getPhases.<locals>.InColumnGroupPhase.processCharacterscSs$|jj||jjjd|d<dS)NTrx)r<rr{r+)r@rr)r)r*rsz1getPhases.<locals>.InColumnGroupPhase.startTagColcSs"|j}|jtd|s|SdS)Nr)rrr
)r@rrr)r)r*rsz3getPhases.<locals>.InColumnGroupPhase.startTagOthercSs@|jr |jjst|jjn|jjj|jjd|j_	dS)Nr)
rrIrPrr|r<r{r+rFr])r@rr)r)r*rs
z4getPhases.<locals>.InColumnGroupPhase.endTagColgroupcSs|jjdddidS)Nz
no-end-tagr>rz)rIr|)r@rr)r)r*rsz/getPhases.<locals>.InColumnGroupPhase.endTagColcSs"|j}|jtd|s|SdS)Nr)rrr
)r@rrr)r)r*rsz1getPhases.<locals>.InColumnGroupPhase.endTagOtherN)r7r8r9rHrrrrrrrrr))rr)r*InColumnGroupPhase^s
	rcsxeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZdS)z#getPhases.<locals>.InTableBodyPhasecsvj|||tjd|jfd|jfd
|jfd|jfg|_|j|j_	tjd|j
fd|jfd|jfg|_
|j|j
_	dS)Nrrrrrrzrrrrrr)rr)rrzrrrr)rrr)rrrzrrrrr)rHrrr
startTagTrstartTagTableCellstartTagTableOtherrrrendTagTableRowGrouprrrr)r@rIr<)rr)r*rHs
z,getPhases.<locals>.InTableBodyPhase.__init__cSsFx"|jjdjdkr"|jjjqW|jjdjdkrB|jjsBtdS)	Nr	rrrrry)rrrrry)r<r{r>r+rIrPr)r@r)r)r*clearStackToTableBodyContexts
z@getPhases.<locals>.InTableBodyPhase.clearStackToTableBodyContextcSs|jjdjdS)Nr)rIrFr)r@r)r)r*rsz.getPhases.<locals>.InTableBodyPhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz:getPhases.<locals>.InTableBodyPhase.processSpaceCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz5getPhases.<locals>.InTableBodyPhase.processCharacterscSs(|j|jj||jjd|j_dS)Nr)rr<rrIrFr])r@rr)r)r*rsz.getPhases.<locals>.InTableBodyPhase.startTagTrcSs*|jjdd|di|jtdd|S)Nzunexpected-cell-in-table-bodyr>rro)rIr|rr
)r@rr)r)r*rsz5getPhases.<locals>.InTableBodyPhase.startTagTableCellcSsn|jjddds0|jjddds0|jjdddrT|j|jt|jjdj|S|jjs`t	|jj
dS)Nrr)rrrr	ry)r<rrrr
r{r>rIrPrr|)r@rr)r)r*rsz6getPhases.<locals>.InTableBodyPhase.startTagTableOthercSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz1getPhases.<locals>.InTableBodyPhase.startTagOthercSsT|jj|dddr:|j|jjj|jjd|j_n|jjdd|didS)Nr>r)rrz unexpected-end-tag-in-table-body)	r<rrr{r+rIrFr]r|)r@rr)r)r*rsz7getPhases.<locals>.InTableBodyPhase.endTagTableRowGroupcSsn|jjddds0|jjddds0|jjdddrT|j|jt|jjdj|S|jjs`t	|jj
dS)Nrr)rrrr	ry)r<rrrr
r{r>rIrPrr|)r@rr)r)r*rsz/getPhases.<locals>.InTableBodyPhase.endTagTablecSs|jjdd|didS)Nz unexpected-end-tag-in-table-bodyr>)rIr|)r@rr)r)r*rsz0getPhases.<locals>.InTableBodyPhase.endTagIgnorecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz/getPhases.<locals>.InTableBodyPhase.endTagOtherN)r7r8r9rHrrrrrrrrrrrrr))rr)r*InTableBodyPhases
	
rcseZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZdS)zgetPhases.<locals>.InRowPhasecsvj|||tjd|jfd
|jfd|jfg|_|j|j_tjd
|j	fd|j
fd|jfd|jfg|_
|j|j
_dS)Nrrrrrzrrrrrrr)rr)rrzrrrrr)rrr)rrrzrrrr)rHrrrrrrrrendTagTrrrrrr)r@rIr<)rr)r*rHs
z&getPhases.<locals>.InRowPhase.__init__cSsDx>|jjdjdkr>|jjdd|jjdji|jjjqWdS)	Nr	rrz'unexpected-implied-end-tag-in-table-rowr>ry)rrry)r<r{r>rIr|r+)r@r)r)r*clearStackToTableRowContextsz9getPhases.<locals>.InRowPhase.clearStackToTableRowContextcSs|jjdddS)Nrr)r)r<r)r@r)r)r*ignoreEndTagTrsz,getPhases.<locals>.InRowPhase.ignoreEndTagTrcSs|jjdjdS)Nr)rIrFr)r@r)r)r*r"sz(getPhases.<locals>.InRowPhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r%sz4getPhases.<locals>.InRowPhase.processSpaceCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r(sz/getPhases.<locals>.InRowPhase.processCharacterscSs6|j|jj||jjd|j_|jjjtdS)Nr)	rr<rrIrFr]rrr
)r@rr)r)r*r+sz/getPhases.<locals>.InRowPhase.startTagTableCellcSs"|j}|jtd|s|SdS)Nr)rrr
)r@rrr)r)r*r1sz0getPhases.<locals>.InRowPhase.startTagTableOthercSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r8sz+getPhases.<locals>.InRowPhase.startTagOthercSsH|js.|j|jjj|jjd|j_n|jjs:t	|jj
dS)Nr)rrr<r{r+rIrFr]rPrr|)r@rr)r)r*r;sz&getPhases.<locals>.InRowPhase.endTagTrcSs"|j}|jtd|s|SdS)Nr)rrr
)r@rrr)r)r*rEsz)getPhases.<locals>.InRowPhase.endTagTablecSs4|jj|dddr&|jtd|S|jjdS)Nr>r)rr)r<rrr
rIr|)r@rr)r)r*rMsz1getPhases.<locals>.InRowPhase.endTagTableRowGroupcSs|jjdd|didS)Nzunexpected-end-tag-in-table-rowr>)rIr|)r@rr)r)r*rTsz*getPhases.<locals>.InRowPhase.endTagIgnorecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rXsz)getPhases.<locals>.InRowPhase.endTagOtherN)r7r8r9rHrrrrrrrrrrrrrr))rr)r*
InRowPhases
rcs`eZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZdS)zgetPhases.<locals>.InCellPhasecsfj|||tjd|jfd
|jfg|_|j|j_tjd|jfd|j	fd|j
fg|_|j|j_dS)Nrrrzrrrrrrrrr)	rrzrrrrrrr)rr)rrrzrr)rrrrr)
rHrrrrrrrendTagTableCellrendTagImplyrr)r@rIr<)rr)r*rH]s
z'getPhases.<locals>.InCellPhase.__init__cSsB|jjdddr |jtdn|jjdddr>|jtddS)Nrr)rr)r<rrr
)r@r)r)r*	closeCellnsz(getPhases.<locals>.InCellPhase.closeCellcSs|jjdjdS)Nr)rIrFr)r@r)r)r*rusz)getPhases.<locals>.InCellPhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rxsz0getPhases.<locals>.InCellPhase.processCharacterscSsF|jjddds |jjdddr,|j|S|jjs8t|jjdS)Nrr)rr)r<rrrIrPrr|)r@rr)r)r*r{sz1getPhases.<locals>.InCellPhase.startTagTableOthercSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz,getPhases.<locals>.InCellPhase.startTagOthercSs|jj|dddr|jj|d|jjdj|dkrt|jjdd|dix.|jjj}|j|dkrRPqRWn|jjj|jj|jj	d|j_
n|jjdd|didS)	Nr>r)rr	zunexpected-cell-end-tagrzunexpected-end-tagry)r<rrr{r>rIr|r+rrFr])r@rrr)r)r*rs
z.getPhases.<locals>.InCellPhase.endTagTableCellcSs|jjdd|didS)Nzunexpected-end-tagr>)rIr|)r@rr)r)r*rsz+getPhases.<locals>.InCellPhase.endTagIgnorecSs.|jj|dddr |j|S|jjdS)Nr>r)r)r<rrrIr|)r@rr)r)r*rsz*getPhases.<locals>.InCellPhase.endTagImplycSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rsz*getPhases.<locals>.InCellPhase.endTagOtherN)
r7r8r9rHrrrrrrrrrr))rr)r*InCellPhase[s
rcsxeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZdS)z getPhases.<locals>.InSelectPhasecsj|||tjd|jfd|jfd|jfd|jfd	|jfd|jfg|_	|j
|j	_tjd|jfd|j
fd|jfg|_|j|j_dS)
Nrrxryrrprkrtr)rprkrt)rHrrrstartTagOptionstartTagOptgrouprrr&rrrendTagOptionendTagOptgroupendTagSelectrr)r@rIr<)rr)r*rHs
z)getPhases.<locals>.InSelectPhase.__init__cSs0|jjdjdkr |jjdn|jjs,tdS)Nr	rz
eof-in-selectry)r<r{r>rIr|rPr)r@r)r)r*rsz+getPhases.<locals>.InSelectPhase.processEOFcSs$|ddkrdS|jj|ddS)Nrsr)r<r)r@rr)r)r*rsz2getPhases.<locals>.InSelectPhase.processCharacterscSs.|jjdjdkr|jjj|jj|dS)Nr	rxry)r<r{r>r+r)r@rr)r)r*rsz/getPhases.<locals>.InSelectPhase.startTagOptioncSsL|jjdjdkr|jjj|jjdjdkr<|jjj|jj|dS)Nr	rxryryry)r<r{r>r+r)r@rr)r)r*rs
z1getPhases.<locals>.InSelectPhase.startTagOptgroupcSs|jjd|jtddS)Nzunexpected-select-in-selectr)rIr|rr
)r@rr)r)r*rsz/getPhases.<locals>.InSelectPhase.startTagSelectcSs>|jjd|jjdddr.|jtd|S|jjs:tdS)Nzunexpected-input-in-selectr)r)rIr|r<rrr
rPr)r@rr)r)r*rs
z.getPhases.<locals>.InSelectPhase.startTagInputcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r&sz/getPhases.<locals>.InSelectPhase.startTagScriptcSs|jjdd|didS)Nzunexpected-start-tag-in-selectr>)rIr|)r@rr)r)r*rsz.getPhases.<locals>.InSelectPhase.startTagOthercSs6|jjdjdkr |jjjn|jjdddidS)Nr	rxzunexpected-end-tag-in-selectr>ry)r<r{r>r+rIr|)r@rr)r)r*rsz-getPhases.<locals>.InSelectPhase.endTagOptioncSsf|jjdjdkr0|jjdjdkr0|jjj|jjd	jdkrP|jjjn|jjdddidS)
Nr	rxrryzunexpected-end-tag-in-selectr>ryry)r<r{r>r+rIr|)r@rr)r)r*rsz/getPhases.<locals>.InSelectPhase.endTagOptgroupcSs^|jjdddrD|jjj}x|jdkr6|jjj}qW|jjn|jjsPt|jj	dS)Nr)r)
r<rr{r+r>rIr_rPrr|)r@rrr)r)r*rsz-getPhases.<locals>.InSelectPhase.endTagSelectcSs|jjdd|didS)Nzunexpected-end-tag-in-selectr>)rIr|)r@rr)r)r*r	sz,getPhases.<locals>.InSelectPhase.endTagOtherN)r7r8r9rHrrrrrrr&rrrrrr))rr)r*
InSelectPhases
rcsHeZdZfddZddZddZddZd	d
ZddZd
dZ	dS)z'getPhases.<locals>.InSelectInTablePhasec	sNj|||tjd	|jfg|_|j|j_tjd
|jfg|_|j	|j_dS)Nrrrrrrrr)rrrrrrrr)rrrrrrrr)
rHrrrrrrrrr)r@rIr<)rr)r*rH	s
z0getPhases.<locals>.InSelectInTablePhase.__init__cSs|jjdjdS)Nr)rIrFr)r@r)r)r*r	sz2getPhases.<locals>.InSelectInTablePhase.processEOFcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r	sz9getPhases.<locals>.InSelectInTablePhase.processCharacterscSs(|jjdd|di|jtd|S)Nz5unexpected-table-element-start-tag-in-select-in-tabler>r)rIr|rr
)r@rr)r)r*r!	sz5getPhases.<locals>.InSelectInTablePhase.startTagTablecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r&	sz5getPhases.<locals>.InSelectInTablePhase.startTagOthercSs@|jjdd|di|jj|dddr<|jtd|SdS)Nz3unexpected-table-element-end-tag-in-select-in-tabler>r)rr)rIr|r<rrr
)r@rr)r)r*r)	sz3getPhases.<locals>.InSelectInTablePhase.endTagTablecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r/	sz3getPhases.<locals>.InSelectInTablePhase.endTagOtherN)
r7r8r9rHrrrrrrr))rr)r*InSelectInTablePhase	src-seZdZeddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,g,Zfd-d.Zd/d0Zfd1d2Zd3d4Zd5d6Z	d7S)8z(getPhases.<locals>.InForeignContentPhaserWrXr>rrr?rYrTr+rBrUrZriZh1Zh2Zh3Zh4Zh5Zh6rrqr\rjrSrQrJr4rcrLr(rPrr]r^spanr`r_subZsuprrarbrOvarcsj|||dS)N)rH)r@rIr<)rr)r*rH<	sz1getPhases.<locals>.InForeignContentPhase.__init__c%Ssnddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%$}|d&|krj||d&|d&<dS)'NZaltGlyphZaltGlyphDefZaltGlyphItemZanimateColorZ
animateMotionZanimateTransformZclipPathZfeBlendZ
feColorMatrixZfeComponentTransferZfeCompositeZfeConvolveMatrixZfeDiffuseLightingZfeDisplacementMapZfeDistantLightZfeFloodZfeFuncAZfeFuncBZfeFuncGZfeFuncRZfeGaussianBlurZfeImageZfeMergeZfeMergeNodeZfeMorphologyZfeOffsetZfePointLightZfeSpecularLightingZfeSpotLightZfeTileZfeTurbulenceZ
foreignObjectZglyphRefZlinearGradientZradialGradientZtextPath)$ZaltglyphZaltglyphdefZaltglyphitemZanimatecolorZ
animatemotionZanimatetransformZclippathZfeblendZ
fecolormatrixZfecomponenttransferZfecompositeZfeconvolvematrixZfediffuselightingZfedisplacementmapZfedistantlightZfefloodZfefuncaZfefuncbZfefuncgZfefuncrZfegaussianblurZfeimageZfemergeZfemergenodeZfemorphologyZfeoffsetZfepointlightZfespecularlightingZfespotlightZfetileZfeturbulenceZ
foreignobjectZglyphrefZlineargradientZradialgradientZtextpathr>r))r@rreplacementsr)r)r*adjustSVGTagNames?	sLz:getPhases.<locals>.InForeignContentPhase.adjustSVGTagNamescsL|ddkrd|d<n&|jjr<tdd|dDr<d|j_j||dS)Nrsru�css|]}|tkVqdS)N)r)r=rr)r)r*rl	szMgetPhases.<locals>.InForeignContentPhase.processCharacters.<locals>.<genexpr>F)rIr`rr)r@r)rr)r*rh	s
z:getPhases.<locals>.InForeignContentPhase.processCharacterscSs6|jjd}|d|jksD|ddkrt|djtdddg@r|jjdd|dixR|jjdj|jjkr|jj	|jjdr|jj
|jjdr|jjjq\W|S|jtd	kr|jj
|n$|jtd
kr|j||jj||jj||j|d<|jj||dr2|jjjd
|d<dS)Nr	r>r[rsZcolorZfacesizez*unexpected-html-element-in-foreign-contentrdrurhrwTrxryryryry)r<r{breakoutElementssetkeysrIr|rhrrlrmr+rrrrrr)r@rrr)r)r*rp	s.



z8getPhases.<locals>.InForeignContentPhase.processStartTagcSst|jjd}|jjd}|jjt|dkrF|jjdd|dix|jjt|dkr|jj|jj	dkr|jjj
|jjj|j_x |jjj|kr|jjst
qWd}P|d8}|jj|}|j|jjkrqHqH|jjj|}PqHW|S)Nr	r>zunexpected-end-tagrry)r~r<r{r>rjrrIr|r]rFrrr+rrhrr)r@rZ	nodeIndexrrr)r)r*r	s(z6getPhases.<locals>.InForeignContentPhase.processEndTagN)
r7r8r9rrrHrrrrr))rr)r*InForeignContentPhase2	s


)rcsPeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)z!getPhases.<locals>.AfterBodyPhasecsNj|||tjd|jfg|_|j|j_tjd|jfg|_|j	|j_dS)Nr)
rHrrrrrrrrr)r@rIr<)rr)r*rH	s
z*getPhases.<locals>.AfterBodyPhase.__init__cSsdS)Nr))r@r)r)r*r	sz,getPhases.<locals>.AfterBodyPhase.processEOFcSs|jj||jjddS)Nr)r<rr{)r@rr)r)r*r	sz0getPhases.<locals>.AfterBodyPhase.processCommentcSs |jjd|jjd|j_|S)Nzunexpected-char-after-bodyr)rIr|rFr])r@rr)r)r*r	sz3getPhases.<locals>.AfterBodyPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r	sz.getPhases.<locals>.AfterBodyPhase.startTagHtmlcSs*|jjdd|di|jjd|j_|S)Nzunexpected-start-tag-after-bodyr>r)rIr|rFr])r@rr)r)r*r	sz/getPhases.<locals>.AfterBodyPhase.startTagOthercSs*|jjr|jjdn|jjd|j_dS)Nz'unexpected-end-tag-after-body-innerhtmlafterAfterBody)rIrPr|rFr])r@r>r)r)r*r	sz,getPhases.<locals>.AfterBodyPhase.endTagHtmlcSs*|jjdd|di|jjd|j_|S)Nzunexpected-end-tag-after-bodyr>r)rIr|rFr])r@rr)r)r*r	sz-getPhases.<locals>.AfterBodyPhase.endTagOtherN)r7r8r9rHrrrrrrrr))rr)r*AfterBodyPhase	sr
csXeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)z"getPhases.<locals>.InFramesetPhasecsfj|||tjd|jfd|jfd|jfd|jfg|_|j|j_	tjd|j
fg|_|j|j_	dS)Nrrr{r)
rHrrrr7
startTagFramestartTagNoframesrrrendTagFramesetrr)r@rIr<)rr)r*rH	s
z+getPhases.<locals>.InFramesetPhase.__init__cSs0|jjdjdkr |jjdn|jjs,tdS)Nr	rzeof-in-framesetry)r<r{r>rIr|rPr)r@r)r)r*r	sz-getPhases.<locals>.InFramesetPhase.processEOFcSs|jjddS)Nzunexpected-char-in-frameset)rIr|)r@rr)r)r*r	sz4getPhases.<locals>.InFramesetPhase.processCharacterscSs|jj|dS)N)r<r)r@rr)r)r*r7	sz3getPhases.<locals>.InFramesetPhase.startTagFramesetcSs|jj||jjjdS)N)r<rr{r+)r@rr)r)r*r	sz0getPhases.<locals>.InFramesetPhase.startTagFramecSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r	sz3getPhases.<locals>.InFramesetPhase.startTagNoframescSs|jjdd|didS)Nz unexpected-start-tag-in-framesetr>)rIr|)r@rr)r)r*r	sz0getPhases.<locals>.InFramesetPhase.startTagOthercSs\|jjdjdkr |jjdn|jjj|jjrX|jjdjdkrX|jjd|j_dS)Nr	rz)unexpected-frameset-in-frameset-innerhtmlr
afterFramesetryry)	r<r{r>rIr|r+rPrFr])r@rr)r)r*r
	s
z1getPhases.<locals>.InFramesetPhase.endTagFramesetcSs|jjdd|didS)Nzunexpected-end-tag-in-framesetr>)rIr|)r@rr)r)r*r	
sz.getPhases.<locals>.InFramesetPhase.endTagOtherN)r7r8r9rHrrr7rrrr
rr))rr)r*InFramesetPhase	srcsHeZdZfddZddZddZddZd	d
ZddZd
dZ	dS)z%getPhases.<locals>.AfterFramesetPhasecsVj|||tjd|jfd|jfg|_|j|j_tjd|jfg|_	|j
|j	_dS)Nrr)rHrrrrrrrrrr)r@rIr<)rr)r*rH
s
z.getPhases.<locals>.AfterFramesetPhase.__init__cSsdS)Nr))r@r)r)r*r
sz0getPhases.<locals>.AfterFramesetPhase.processEOFcSs|jjddS)Nzunexpected-char-after-frameset)rIr|)r@rr)r)r*r!
sz7getPhases.<locals>.AfterFramesetPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*r$
sz6getPhases.<locals>.AfterFramesetPhase.startTagNoframescSs|jjdd|didS)Nz#unexpected-start-tag-after-framesetr>)rIr|)r@rr)r)r*r'
sz3getPhases.<locals>.AfterFramesetPhase.startTagOthercSs|jjd|j_dS)NafterAfterFrameset)rIrFr])r@rr)r)r*r+
sz0getPhases.<locals>.AfterFramesetPhase.endTagHtmlcSs|jjdd|didS)Nz!unexpected-end-tag-after-framesetr>)rIr|)r@rr)r)r*r.
sz1getPhases.<locals>.AfterFramesetPhase.endTagOtherN)
r7r8r9rHrrrrrrr))rr)r*AfterFramesetPhase
srcsPeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)z&getPhases.<locals>.AfterAfterBodyPhasecs0j|||tjd|jfg|_|j|j_dS)Nr)rHrrrrrr)r@rIr<)rr)r*rH3
sz/getPhases.<locals>.AfterAfterBodyPhase.__init__cSsdS)Nr))r@r)r)r*r;
sz1getPhases.<locals>.AfterAfterBodyPhase.processEOFcSs|jj||jjdS)N)r<rr)r@rr)r)r*r>
sz5getPhases.<locals>.AfterAfterBodyPhase.processCommentcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rA
sz=getPhases.<locals>.AfterAfterBodyPhase.processSpaceCharacterscSs |jjd|jjd|j_|S)Nzexpected-eof-but-got-charr)rIr|rFr])r@rr)r)r*rD
sz8getPhases.<locals>.AfterAfterBodyPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rI
sz3getPhases.<locals>.AfterAfterBodyPhase.startTagHtmlcSs*|jjdd|di|jjd|j_|S)Nzexpected-eof-but-got-start-tagr>r)rIr|rFr])r@rr)r)r*rL
sz4getPhases.<locals>.AfterAfterBodyPhase.startTagOthercSs*|jjdd|di|jjd|j_|S)Nzexpected-eof-but-got-end-tagr>r)rIr|rFr])r@rr)r)r*rR
sz4getPhases.<locals>.AfterAfterBodyPhase.processEndTagN)r7r8r9rHrrrrrrrr))rr)r*AfterAfterBodyPhase2
srcsXeZdZfddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)z*getPhases.<locals>.AfterAfterFramesetPhasecs8j|||tjd|jfd|jfg|_|j|j_dS)Nrr)rHrrrstartTagNoFramesrrr)r@rIr<)rr)r*rHY
s
z3getPhases.<locals>.AfterAfterFramesetPhase.__init__cSsdS)Nr))r@r)r)r*rb
sz5getPhases.<locals>.AfterAfterFramesetPhase.processEOFcSs|jj||jjdS)N)r<rr)r@rr)r)r*re
sz9getPhases.<locals>.AfterAfterFramesetPhase.processCommentcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rh
szAgetPhases.<locals>.AfterAfterFramesetPhase.processSpaceCharacterscSs|jjddS)Nzexpected-eof-but-got-char)rIr|)r@rr)r)r*rk
sz<getPhases.<locals>.AfterAfterFramesetPhase.processCharacterscSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rn
sz7getPhases.<locals>.AfterAfterFramesetPhase.startTagHtmlcSs|jjdj|S)Nr)rIrFr)r@rr)r)r*rq
sz;getPhases.<locals>.AfterAfterFramesetPhase.startTagNoFramescSs|jjdd|didS)Nzexpected-eof-but-got-start-tagr>)rIr|)r@rr)r)r*rt
sz8getPhases.<locals>.AfterAfterFramesetPhase.startTagOthercSs|jjdd|didS)Nzexpected-eof-but-got-end-tagr>)rIr|)r@rr)r)r*rx
sz8getPhases.<locals>.AfterAfterFramesetPhase.processEndTagN)r7r8r9rHrrrrrrrrr))rr)r*AfterAfterFramesetPhaseX
s	r)rTrSrrr/r0rrrrrrrrrrrrvrrrr	r)r)rGrVrrrrr1r5r:rrrrrrrrrrrrr
rrrrr))rr*rE_sp)#.g@CX!-GBbYLd's/9%&&rEcs^ts
tjr t|dt@}nt|dt@}|rZtfdd|djD|d<dS)Nrsc3s"|]\}}j|||fVqdS)N)r})r=kv)rr)r*r
sz$adjust_attributes.<locals>.<genexpr>)rrZPY27rrrr.)rrZneeds_adjustmentr))rr*r
s
rrpFcCs|dkri}t||||dS)N)r2r>rsrw)r)r>r2rirwr)r)r*r

s
r
c@seZdZdZdS)rrzError in parsed documentN)r7r8r9rr)r)r)r*rr
srr)rT)r+rT)rpNF)1Z
__future__rrrZpip._vendor.sixrrrr0collectionsrImportErrorZpip._vendor.ordereddictrr
rrZtreebuilders.baser
rZ	constantsrrrrrrrrrrrrrrrrrr#r-r;rgr"ZmemoizerErr
	Exceptionrrr)r)r)r*<module>sRH

)L