ó
    ×›‘h“Q  ã                   ó„   • S r SSKJr  SSKJr  SrSrSrSr\S-   r	S r
S	 rS
 rS rS r " S S\5      r " S S\5      rg)aÒ  
*S*mall, *U*ncomplicated *X*ML.

This is a very simple implementation of XML/HTML as a network
protocol.  It is not at all clever.  Its main features are that it
does not:

  - support namespaces
  - mung mnemonic entity references
  - validate
  - perform *any* external actions (such as fetching URLs or writing files)
    under *any* circumstances
  - has lots and lots of horrible hacks for supporting broken HTML (as an
    option, they're not on by default).
é    )ÚProtocol)ÚprefixedMethodNamesé   é   z.-_:z;+#/%~c                  ó   • g)zDo nothing.N© )ÚargsÚkws     ÚSC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/web/sux.pyÚnopr   $   s   � ó    c                  óˆ   • / nU  H  nUR                  U5        M     U Vs0 s H  o"S_M     nnUR                  5       $ s  snf )Nr   )ÚextendÚkeys)r	   ÚlÚxÚds       r   Ú	unionlistr   (   sB   € Ø
€AÛˆØ	�‰�Žñ áÓ’q�!ˆAŠ‘q€AÐØ�6‰6‹8€Oùò 	s   ¡?c                  ó˜   ^^• UR                  S[        5      m0 n[        S U  5       6  H  m[        UU4S jU  5       5      UT'   M     U$ )NÚdefaultc              3   ó@   #   • U  H  oR                  5       v •  M     g 7f©N)r   )Ú.0Úfndicts     r   Ú	<genexpr>Úzipfndict.<locals>.<genexpr>3   s   é € Ð<²t¨VŸ;™;Ÿ=˜=²tùs   ‚c              3   óF   >#   • U  H  oR                  TT5      v •  M     g 7fr   )Úget)r   r   r   Úkeys     €€r   r   r   4   s   øé € Ð9²D¨q—u‘u˜S '×*Ð*²Dùs   ƒ!)r   r   r   Útuple)r	   r
   r   r   r   s      @@r   Ú	zipfndictr!   0   sF   ù€ Ø�f‰f�Y¤Ó$€GØ
€AÜÑ<±tÓ<Ó=ˆÜÕ9±DÓ9Ó9ˆˆ#‹ñ >à€Hr   c           	      ó^   • [        X5       Vs0 s H  nU[        XU-   5      _M     sn$ s  snf r   )r   Úgetattr)ÚclazzÚprefixÚnames      r   ÚprefixedMethodClassDictr'   8   s<   € ô (¨Ô6óâ6ˆDð 	Œg�e d™]Ó+Ò+Ù6ñð ùò s   Ž*c           	      ót   • [        U R                  U5       Vs0 s H  nU[        XU-   5      _M     sn$ s  snf r   )r   Ú	__class__r#   )Úobjr%   r&   s      r   ÚprefixedMethodObjDictr+   ?   sB   € ô (¨¯©°vÔ>óâ>ˆDð 	Œg�c D™=Ó)Ò)Ù>ñð ùò s   ™5c                   ó(   • \ rS rSrS rS\4S jrSrg)Ú
ParseErroréF   c                 ó4   • Xl         X l        X0l        X@l        g r   ©ÚfilenameÚlineÚcolÚmessage)Úselfr1   r2   r3   r4   s        r   Ú__init__ÚParseError.__init__G   s   € Ø ŒØŒ	ØŒØ�r   Úreturnc                 ól   • U R                    SU R                   SU R                   SU R                   3$ )NÚ:z: r0   ©r5   s    r   Ú__str__ÚParseError.__str__M   s/   € Ø—-‘-�  $§)¡) ¨A¨d¯h©h¨Z°r¸$¿,¹,¸ÐHÐHr   )r3   r1   r2   r4   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r6   Ústrr<   Ú__static_attributes__r   r   r   r-   r-   F   s   † òðI˜÷ Ir   r-   c                   ó†  • \ rS rSrSrSrSrSrSrSr	S r
S rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S  r%S!r&S!r'S" r(S# r)S$ r*S% r+S& r,S' r-S( r.S) r/S* r0S+ r1S, r2S- r3S. r4S/ r5S0 r6S1 r7S2 r8S3 r9S4 r:S5 r;\3r<\4r=S6 r>S7 r?S8 r@S9 rAS: rBS; rCS< rDS=rEg)>Ú	XMLParseréQ   Nz<xml />r   c                 ó.   • SU l         SU l        / U l        g )Nr   r   )ÚlinenoÚcolnoÚ	encodingsr;   s    r   ÚconnectionMadeÚXMLParser.connectionMade]   s   € ØˆŒØˆŒ
Øˆ�r   c                 ó2   • U R                   U R                  4$ )z;Get the line number and column of the last character parsed)rH   rI   r;   s    r   ÚsaveMarkÚXMLParser.saveMarkb   s   € ð —‘˜TŸZ™ZÐ(Ð(r   c                 óR   • [        U R                  4U R                  5       -   U4-   6 er   )r-   r1   rN   )r5   r4   s     r   Ú_parseErrorÚXMLParser._parseErrorg   s&   € Ü˜DŸM™MÐ+¨d¯m©m«oÑ=ÀÀ
ÑJÐLÐLr   c                 ó‚   ^ • [        T R                  SS5      nUc#  [        U 4S jS 5       6 =nT R                  l        U$ )z;Return a dictionary of begin, do, end state function tuplesÚ__stateTableNc              3   ó<   >#   • U  H  n[        TU5      v •  M     g 7fr   )r+   )r   r%   r5   s     €r   r   Ú-XMLParser._buildStateTable.<locals>.<genexpr>r   s"   øé € ð â";˜ô *¨$°×7Ð7Ú";ùs   ƒ)Úbegin_Údo_Úend_)r#   r)   r!   Ú_XMLParser__stateTable)r5   Ú
stateTables   ` r   Ú_buildStateTableÚXMLParser._buildStateTablej   sJ   ø€ ô
 ˜TŸ^™^¨^¸TÓBˆ
ØÑÜ7@ôá";óð8ð ˆJ˜Ÿ™Ô4ð Ðr   c                 óö   • SU R                   ;   d  SU R                   ;   a  [        U5      S-  (       a   S5       eU R                  (       a  U R                  U-   nU R                    H  n[        X5      nM     U$ )NúUTF-16zUCS-2r   z!UTF-16 must come in pairs for now)rJ   ÚlenÚ_prependrB   )r5   ÚdataÚencodings      r   Ú_decodeÚXMLParser._decodey   sb   € Ø�t—~‘~Ó%¨°D·N±NÓ)BÜ˜4“y 1—}ÐIÐ&IÓIÐ$Ø�=�=Ø—=‘= 4Ñ'ˆDØŸœˆHÜ�tÓ&ŠDñ 'àˆr   c                 óŒ   • U R                   (       a  gU R                  S:X  a"  SU R                  ;  a  U R                  S 5        gg)NÚbodydataÚscriptÚsrcÚwaitforendscript)ÚendtagÚtagNameÚtagAttributesÚbegin_bodydatar;   s    r   ÚmaybeBodyDataÚXMLParser.maybeBodyData‚   s=   € Ø�;�;Øð �<‰<˜8Ó#¨°T×5GÑ5GÓ(Gð ×Ñ Ô%Ø%Ør   c                 óÆ  ^^• U R                  5       nU R                  (       dG  UR                  S5      (       a*  USS U l        U R                  R                  S5        USS  nSU l        U R                  (       a  U R                  U5      nOUR                  S5      nU R                  U R                  smmU R                  nU R                  nUU4S jnXPl
        X#   u  pgn U HB  n	U	S:X  a  TS	-  mSmOTS	-  mU" U	5      n
U
c  M#  X£:w  d  M*  U" 5         U
nX#   u  pgnU" U	5        MD     X@l
        TTsU l        U l	        X0l        g ! X@l
        TTsU l        U l	        f = f)
N)s   ÿþs   þÿr   r   r_   Úbeginzutf-8c                  ó   >• TT 4$ r   r   )rI   rH   s   €€r   rN   Ú(XMLParser.dataReceived.<locals>.saveMark©   s   ø€ Ø˜E�?Ð"r   Ú
r   )r\   ÚstateÚ
startswithra   rJ   Úappendrd   ÚdecoderH   rI   rN   )r5   rb   r[   ÚcurStateÚ	_saveMarkrN   ÚbeginFnÚdoFnÚendFnÚbyteÚnewStaterI   rH   s              @@r   ÚdataReceivedÚXMLParser.dataReceived–   sN  ù€ Ø×*Ñ*Ó,ˆ
Ø�z�zà�‰Ð9×:Ñ:Ø $ Q q 	�”Ø—‘×%Ñ% hÔ/Ø˜A˜B�x�Ø ˆDŒJØ�>�>Ø—<‘< Ó%‰Dà—;‘;˜wÓ'ˆDàŸ™ T§Z¡Zˆˆ�Ø—:‘:ˆà—M‘Mˆ	ö	#ð !Œà)Ñ3Ñˆ�uð	4Û�à˜4“<Ø˜a‘K�FØ‘Eà˜Q‘J�EÙ ›:�ØÓ'¨HÕ,@á”GØ'�HØ+5Ñ+?Ñ(�G 5Ù˜D–Mñ ð &ŒMØ&,¨eÐ#ˆDŒK˜œà�
øð &ŒMØ&,¨eÐ#ˆDŒK˜�ús   Ã%!E	 Ä
E	 ÄE	 Å	E c                 óX   • U R                  5       nX R                     [           " 5         g)z 
End the last state we were in.
N)r\   rv   ÚEND_HANDLER)r5   Úreasonr[   s      r   ÚconnectionLostÚXMLParser.connectionLostÄ   s$   € ð ×*Ñ*Ó,ˆ
Ø—:‘:Ñœ{Ò+Õ-r   c                 ó˜   • UR                  5       (       a  g US:w  a.  U R                  (       a  Xl        gU R                  SU< S35        g)NÚ<rg   zFirst char of document [z
] wasn't <Útagstart)ÚisspaceÚbeExtremelyLenientÚ_leadingBodyDatarQ   ©r5   r   s     r   Údo_beginÚXMLParser.do_beginÍ   sD   € Ø�<‰<�>‰>ØØ�3‹;Ø×&×&Ø(,Ô%Ø!Ø×ÑÐ7¸±x¸zÐJÔKØr   c                 ó   • SU l         g ©NÚ )Ú
commentbufrŽ   s     r   Úbegin_commentÚXMLParser.begin_comment×   s	   € Øˆ�r   c                 ó¬   • U =R                   U-  sl         U R                   R                  S5      (       a  U R                  U R                   S S 5        gg )Nz-->éýÿÿÿrg   )r”   ÚendswithÚ
gotCommentrŽ   s     r   Ú
do_commentÚXMLParser.do_commentÚ   sD   € Ø�Š˜4Ñ�Ø�?‰?×#Ñ# E×*Ñ*Ø�O‰O˜DŸO™O¨C¨RÐ0Ô1Øð +r   c                 ó<   • SU l         0 U l        SU l        SU l        g ©Nr“   r   )rl   rm   Útermtagrk   rŽ   s     r   Úbegin_tagstartÚXMLParser.begin_tagstartà   s   € ØˆŒØˆÔØˆŒØˆ�r   c                 óÂ  • UR                  5       (       d
  U[        ;   a'  U =R                  U-  sl        U R                  S:X  a  gg UR                  5       (       a6  U R                  (       a  U R                  (       a  ggU R                  S5        g US:X  az  U R                  (       a  U R                  U R                  5        gU R                  U R                  0 5        U R                  (       + =(       a    S=(       d    U R                  5       $ US:X  a  U R                  (       a  g	S
U l        g US;   aR  U R                  (       a$  U R                  (       d  U R                  S5        g g U =R                  U-  sl        S
U l
        g US:X  a#  U R                  S:X  a  gU R                  S5        g U R                  (       a  SU l        gU R                  SU-  5        g )Nz!--ÚcommentÚ	waitforgtÚattrszWhitespace before tag-nameÚ>rg   Ú/Ú
afterslashr   ú!?zInvalid character in tag-nameÚ[Ú!ÚexpectcdatazInvalid '[' in tag-namer‰   ÚunentityzInvalid tag character: %r)ÚisalnumÚ
identCharsrl   r‹   rk   rQ   Ú	gotTagEndÚgotTagStartrŒ   ro   rŸ   rg   rŽ   s     r   Údo_tagstartÚXMLParser.do_tagstartæ   sg  € Ø�<‰<�>‰>˜T¤ZÓ/Ø�LŠL˜DÑ �LØ�|‰|˜uÓ$Ø ð %à�\‰\�^‰^Ø�|�|Ø—;—;ð 'Øà× Ñ Ð!=Õ>Ø�S‹[Ø�{�{Ø—‘˜tŸ|™|Ô,Ø!à× Ñ  §¡¨rÔ2à×0Ñ0Ô0×@°j×XÀD×DVÑDVÓDXðð �S‹[Ø�|�|Ø#à�•Ø�T‹\Ø�|�|Ø×.×.Ø×$Ñ$Ð%DÕEð /ð —’ Ñ$•Ø �•Ø�S‹[Ø�|‰|˜sÓ"Ø$à× Ñ Ð!:Õ;à×&×&Ø #�”Ø!Ø×ÑÐ8¸4Ñ?Õ@r   c                 ó.   • U =R                   U-  sl         g r   ©rg   rŽ   s     r   Úbegin_unentityÚXMLParser.begin_unentity  s   € Ø�Š˜ÑŽr   c                 ó.   • U =R                   U-  sl         g)Nrg   rµ   rŽ   s     r   Údo_unentityÚXMLParser.do_unentity  s   € Ø�Š˜Ñ�Ør   c                 ó:   • U R                  U R                  5        g r   ©ÚgotTextrg   r;   s    r   Úend_unentityÚXMLParser.end_unentity  s   € Ø�‰�T—]‘]Õ#r   c                 ó   • Xl         g r   )ÚcdatabufrŽ   s     r   Úbegin_expectcdataÚXMLParser.begin_expectcdata  s   € Ø�r   c                 ó*  • U =R                   U-  sl         U R                   nSn[        U5      [        U5      :”  a:  UR                  U5      (       a  g U R                  (       a  gU R	                  S5        X2:X  a  SU l         gU R	                  S5        g )Nz[CDATA[r¤   zMal-formed CDATA headerr“   Úcdata)rÁ   r`   rw   rŒ   rQ   )r5   r   ÚcdbÚcds       r   Údo_expectcdataÚXMLParser.do_expectcdata!  s{   € Ø�Š˜Ñ�Ø�m‰mˆØˆÜˆr‹7”S˜“XÓØ�}‰}˜S×!Ñ!ØØ×(×(ð
 #à× Ñ Ð!:Ô;Ø‹9ØˆDŒMØØ×ÑÐ2Õ3r   c                 ó˜   • U =R                   U-  sl         U R                   R                  S5      (       a  U R                   S S U l         gg )Nz]]>r˜   rg   )rÁ   r™   rŽ   s     r   Údo_cdataÚXMLParser.do_cdata5  s?   € Ø�Š˜Ñ�Ø�=‰=×!Ñ! %×(Ñ(Ø ŸM™M¨#¨2Ð.ˆDŒMØð )r   c                 óH   • U R                  U R                  5        SU l        g r’   )ÚgotCDatarÁ   r;   s    r   Ú	end_cdataÚXMLParser.end_cdata;  s   € Ø�‰�d—m‘mÔ$Øˆ�r   c                 óÎ  • UR                  5       (       d
  U[        ;   a&  U R                  S:X  a  gU R                  S   S;   a  ggUR                  5       (       a  g US:X  aW  U R	                  U R                  U R
                  5        U R                  (       + =(       a    S=(       d    U R                  5       $ US	:X  a  g
U R                  (       a  g U R                  SU-  5        g )Nú!DOCTYPEÚdoctyper   r©   r¤   Úattrnamer¦   rg   r§   r¨   zUnexpected character: %r)	r®   r¯   rl   r‹   r±   rm   rŒ   ro   rQ   rŽ   s     r   Údo_attrsÚXMLParser.do_attrs?  s¶   € Ø�<‰<�>‰>˜T¤ZÓ/à�|‰|˜zÓ)Ø Ø�|‰|˜A‰ $Ó&Ø"ØØ�\‰\�^‰^ØØ�S‹[Ø×Ñ˜TŸ\™\¨4×+=Ñ+=Ô>Ø×/Ñ/Ô/×?°Z×WÀ4×CUÑCUÓCWÐWØ�S‹[ØØ×$×$ð Ø×ÑÐ3°dÑ:Õ;r   c                 ó   • Xl         g r   ©rÓ   rŽ   s     r   Úbegin_doctypeÚXMLParser.begin_doctypeT  ó   € Ø�r   c                 ó<   • US:X  a  gU =R                   U-  sl         g ©Nr¦   rg   rØ   rŽ   s     r   Ú
do_doctypeÚXMLParser.do_doctypeW  s   € Ø�3‹;ØØ�Š˜ÑŽr   c                 óH   • U R                  U R                  5        S U l        g r   )Ú
gotDoctyperÓ   r;   s    r   Úend_doctypeÚXMLParser.end_doctype\  s   € Ø�‰˜Ÿ™Ô%Øˆ�r   c                 óv   • US:X  a3  U R                   (       d  U R                  (       d  gU R                  5       $ g rÝ   )rk   rŒ   ro   rŽ   s     r   Údo_waitforgtÚXMLParser.do_waitforgt`  s/   € Ø�3‹;Ø�{�{ $×"9×"9Ø!Ø×%Ñ%Ó'Ð'ð r   c                 ó   • Xl         SU l        g ©Nr   )rÔ   Ú_attrname_termtagrŽ   s     r   Úbegin_attrnameÚXMLParser.begin_attrnamef  s   € ØŒØ!"ˆÕr   c                 óÌ  • UR                  5       (       d
  U[        ;   a  U =R                  U-  sl        g US:X  a  gUR                  5       (       a  gU R                  (       aÞ  US;   a  gU[
        ;   d  UR                  5       (       a  U =R                  U-  sl        g US:X  a  SU l        g US:X  a�  S	U l        U R                  U R                  U R                  '   U R                  U R                  U R                  5        U R                  (       a  U R                  U R                  5        g
U R                  5       $ g U R                  SU R                  < SU< 35        g )NÚ=ÚbeforeattrvalÚbeforeeqú"'Úattrvalr§   r   r¦   ÚTruerg   zInvalid attribute name: Ú )r®   r¯   rÔ   r‹   rŒ   ÚlenientIdentCharsré   rñ   rm   r±   rl   r°   ro   rQ   rŽ   s     r   Údo_attrnameÚXMLParser.do_attrnamej  s  € Ø�<‰<�>‰>˜T¤ZÓ/Ø�MŠM˜TÑ!�MØØ�S‹[Ø"Ø�\‰\�^‰^ØØ×$×$Ø�u‹}Ø ØÔ(Ó(¨D¯L©L¯N©NØ—’ Ñ%•ØØ�s‹{Ø)*�Ô&ØØ�s‹{Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)×)Ø—N‘N 4§<¡<Ô0Ø%Ø×)Ñ)Ó+Ð+ð Ø×ÑÐ3°D·M±MÑ3DÀAÀdÁXÐNÕOr   c                 ó¢  • US;   a  gUR                  5       (       a  g U R                  (       a�  U[        ;   d  UR                  5       (       a  gUS:X  a`  SU l        U R                  U R
                  U R                  '   U R                  U R                  U R
                  5        U R                  5       $ US:X  a  g U R                  SU-  5        g )Nrð   rñ   Ú	messyattrr¦   rò   Ú\zEInvalid initial attribute value: %r; Attribute values must be quoted.)r‹   rŒ   rô   r®   rñ   rm   rÔ   r±   rl   ro   rQ   rŽ   s     r   Údo_beforeattrvalÚXMLParser.do_beforeattrvalˆ  s­   € Ø�5‹=ØØ�\‰\�^‰^ØØ×$×$ØÔ(Ó(¨D¯L©L¯N©NØ"Ø�s‹{Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)Ñ)Ó+Ð+Ø�t‹|ð Ø×ÑØSØñõ	
r   r“   c                 ó   • SU l         g rè   )Ú_beforeeq_termtagrŽ   s     r   Úbegin_beforeeqÚXMLParser.begin_beforeeq¡  s
   € Ø!"ˆÕr   c                 óX  • US:X  a  gUR                  5       (       a  g U R                  (       aë  UR                  5       (       d
  U[        ;   a+  SU l        U R                  U R
                  U R                  '   gUS:X  a�  SU l        U R                  U R
                  U R                  '   U R                  U R                  U R
                  5        U R                  (       a  U R                  U R                  5        gU R                  5       $ US:X  a  SU l	        g U R                  S	5        g )
Nrí   rî   rò   rÔ   r¦   rg   r§   r   zInvalid attribute)r‹   rŒ   r®   r¯   rñ   rm   rÔ   r±   rl   rý   r°   ro   rQ   rŽ   s     r   Údo_beforeeqÚXMLParser.do_beforeeq¤  sã   € Ø�3‹;Ø"Ø�\‰\�^‰^ØØ×$×$Ø�|‰|�~‰~ ¬Ó!3Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø!Ø˜“Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)×)Ø—N‘N 4§<¡<Ô0Ø%Ø×)Ñ)Ó+Ð+Ø˜“Ø)*�Ô&ØØ×ÑÐ,Õ-r   c                 ó   • Xl         SU l        g r’   ©Ú	quotetyperñ   rŽ   s     r   Úbegin_attrvalÚXMLParser.begin_attrval»  s   € ØŒØˆ�r   c                 óN   • XR                   :X  a  gU =R                  U-  sl        g )Nr¥   r  rŽ   s     r   Ú
do_attrvalÚXMLParser.do_attrval¿  s   € Ø—>‘>Ó!ØØ�Š˜ÑŽr   c                 óf   • U R                   U R                  U R                  '   S=U l        U l         g r’   ©rñ   rm   rÔ   r;   s    r   Úend_attrvalÚXMLParser.end_attrvalÄ  s(   € Ø,0¯L©Lˆ×Ñ˜4Ÿ=™=Ñ)Ø')Ð)ˆŒ˜�r   c                 ó   • Xl         g r   )rñ   rŽ   s     r   Úbegin_messyattrÚXMLParser.begin_messyattrÈ  rÛ   r   c                 óÎ  • UR                  5       (       a  gUS:X  a´  SnU R                  R                  S5      (       a  SnU R                  S S U l        U R                  U R                  U R                  '   U R                  U R                  U R                  5        U(       a  U R                  U R                  5        gU R                  5       $ U =R                  U-  sl        g )Nr¥   r¦   r   r§   r   éÿÿÿÿrg   )	r‹   rñ   r™   rm   rÔ   r±   rl   r°   ro   )r5   r   ÚendTags      r   Údo_messyattrÚXMLParser.do_messyattrË  s­   € Ø�<‰<�>‰>ØØ�S‹[ØˆFØ�|‰|×$Ñ$ S×)Ñ)Ø�Ø#Ÿ|™|¨C¨RÐ0�”Ø04·±ˆD×Ñ˜tŸ}™}Ñ-Ø×Ñ˜TŸ\™\¨4×+=Ñ+=Ô>ÞØ—‘˜tŸ|™|Ô,Ø!Ø×%Ñ%Ó'Ð'à�LŠL˜DÑ ŽLr   c                 ón   • U R                   (       a$  U R                   U R                  U R                  '   g g r   r  r;   s    r   Úend_messyattrÚXMLParser.end_messyattrÜ  s&   € Ø�<�<Ø04·±ˆD×Ñ˜tŸ}™}Ò-ð r   c                 ó   • SU l         g rè   )Ú_after_slash_closedrŽ   s     r   Úbegin_afterslashÚXMLParser.begin_afterslashà  s
   € Ø#$ˆÕ r   c                 ó*  • U R                   (       a  U R                  S5        US:w  a#  U R                  (       a  g U R                  S5        SU l         U R                  U R                  U R
                  5        U R                  U R                  5        g)Nz
Mal-formedr¦   zNo data allowed after '/'r   rg   )r  rQ   rŒ   r±   rl   rm   r°   rŽ   s     r   Údo_afterslashÚXMLParser.do_afterslashã  sr   € à×#×#Ø×Ñ˜\Ô*Ø�3‹;Ø×&×&Øà× Ñ Ð!<Ô=Ø#$ˆÔ Ø×Ñ˜Ÿ™ t×'9Ñ'9Ô:Ø�‰�t—|‘|Ô$ð r   c                 ó\   • U R                   (       a  U R                   U l        U ? g SU l        g r’   )r�   rg   rŽ   s     r   rn   ÚXMLParser.begin_bodydataó  s%   € Ø× × Ø ×1Ñ1ˆDŒMØÑ%àˆD�Mr   c                 óJ   • US:X  a  gUS:X  a  gU =R                   U-  sl         g )Nr‰   rŠ   Ú&Ú	entityrefrµ   rŽ   s     r   Údo_bodydataÚXMLParser.do_bodydataú  s$   € Ø�3‹;ØØ�3‹;ØØ�Š˜ÑŽr   c                 óH   • U R                  U R                  5        SU l        g r’   r¼   r;   s    r   Úend_bodydataÚXMLParser.end_bodydata  s   € Ø�‰�T—]‘]Ô#Øˆ�r   c                 ó<   • US:X  a  gU =R                   U-  sl         g )Nr‰   Úwaitscriptendtagrµ   rŽ   s     r   Údo_waitforendscriptÚXMLParser.do_waitforendscript  s   € Ø�3‹;Ø%Ø�Š˜ÑŽr   c                 ó.   • SU l         SU l        SU l        g rž   )Útemptagdatarl   rk   rŽ   s     r   Úbegin_waitscriptendtagÚ XMLParser.begin_waitscriptendtag
  s   € ØˆÔØˆŒØˆ�r   c                 ó   • U =R                   U-  sl         US:X  a  SU l        g U R                  (       d#  U =R                  SU R                   -   -  sl        gUR                  5       (       d
  U[        ;   a   U =R
                  U-  sl        SR                  U R
                  5      (       d#  U =R                  SU R                   -   -  sl        gU R
                  S:X  a7  U R                  U R                  5        U R                  U R
                  5        gg UR                  5       (       a  gU =R                  SU R                   -   -  sl        g)Nr§   Tr‰   rj   rh   r¤   r,  )
r0  rk   rg   r®   r¯   rl   rw   r½   r°   r‹   rŽ   s     r   Údo_waitscriptendtagÚXMLParser.do_waitscriptendtag  sû   € ð 	×Ò˜DÑ Õð �3‹;ØˆD�KØ——Ø�MŠM˜S 4×#3Ñ#3Ñ3Ñ3�MØ%à�\‰\�^‰^˜t¤zÓ1Ø�LŠL˜DÑ �LØ×&Ñ& t§|¡|×4Ñ4Ø—’  t×'7Ñ'7Ñ!7Ñ7•Ø)Ø—‘ Ó)Ø—‘˜TŸ]™]Ô+Ø—‘˜tŸ|™|Ô,Ø"ð *ð
 �\‰\�^‰^Ø%ð �MŠM˜S 4×#3Ñ#3Ñ3Ñ3�MØ%r   c                 ó    • SU l         SU l        g r’   )ÚerefbufÚ	erefextrarŽ   s     r   Úbegin_entityrefÚXMLParser.begin_entityref6  s   € ØˆŒØˆ�r   c                 ód  • UR                  5       (       d  US:X  ay  U R                  (       aV  U R                  (       a!  U R                  S:w  a  U R                  U l        SU l        US:X  a  gU =R                  U-  sl        gU R	                  S5        g US:w  a  U =R                  U-  sl        g g)Nr‰   ÚamprŠ   ÚspacebodydatazBad entity referenceÚ;rg   )r‹   rŒ   r7  r8  rQ   rŽ   s     r   Údo_entityrefÚXMLParser.do_entityref:  s‚   € Ø�<‰<�>‰>˜T S›[Ø×&×&à—<—< D§L¡L°EÓ$9Ø%)§\¡\�D”NØ$�”Ø˜3“;Ø%à—N’N dÑ*•NØ*Ø×ÑÐ3Õ4Ø�S‹[Ø�LŠL˜DÑ ŽLàr   c                 ó:   • U R                  U R                  5        g r   )ÚgotEntityReferencer7  r;   s    r   Úend_entityrefÚXMLParser.end_entityrefL  s   € Ø×Ñ §¡Õ-r   c                 ó4   • U R                   U l        S U l         g r   )r8  rg   rŽ   s     r   Úbegin_spacebodydataÚXMLParser.begin_spacebodydataQ  s   € ØŸ™ˆŒØˆ�r   c                 ó   • [        SX5        g)z;Encountered an opening tag.

Default behaviour is to print.rr   N©Úprint)r5   r&   Ú
attributess      r   r±   ÚXMLParser.gotTagStartZ  s   € ô 	ˆg�tÕ(r   c                 ó.   • [        S[        U5      5        g)z0Encountered text

Default behaviour is to print.ztext:N©rJ  Úrepr)r5   rb   s     r   r½   ÚXMLParser.gotText`  s   € ô 	ˆg”t˜D“zÕ"r   c                 ó    • [        SU-  5        g)zEEncountered mnemonic entity reference

Default behaviour is to print.zentityRef: &%s;NrI  )r5   Ú	entityRefs     r   rB  ÚXMLParser.gotEntityReferencef  s   € ô 	Ð )Ñ+Õ,r   c                 ó   • g)z5Encountered comment.

Default behaviour is to ignore.Nr   )r5   r£   s     r   rš   ÚXMLParser.gotCommentl  s   € ð 	r   c                 ó&   • U R                  U5        g)zBEncountered CDATA

Default behaviour is to call the gotText methodN)r½   )r5   rÅ   s     r   rÎ   ÚXMLParser.gotCDatar  s   € ð 	�‰�UÕr   c                 ó.   • [        S[        U5      5        g)zEncountered DOCTYPE

This is really grotty: it basically just gives you everything between
'<!DOCTYPE' and '>' as an argument.
rÒ   NrN  )r5   rÓ   s     r   rá   ÚXMLParser.gotDoctypex  s   € ô 	ˆjœ$˜w›-Õ(r   c                 ó   • [        SU5        g)z7Encountered closing tag

Default behaviour is to print.ÚendNrI  )r5   r&   s     r   r°   ÚXMLParser.gotTagEnd€  s   € ô 	ˆe�TÕr   )r  ré   rý   r�   ra   rÔ   rñ   rg   rÁ   rI   r”   rÓ   rJ   rk   r7  r8  rH   r  rN   rv   rm   rl   r0  rŸ   )Fr>   r?   r@   rA   rv   rJ   r1   rŒ   ra   r�   rK   rN   rQ   r\   rd   ro   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  rn   r&  r)  r-  r1  r4  r9  r?  rC  rF  Údo_spacebodydataÚend_spacebodydatar±   r½   rB  rš   rÎ   rá   r°   rC   r   r   r   rE   rE   Q   sW  † Ø€EØ€IØ€HØÐØ€Hð
 Ðòò
)ò
Mòòòò(,ò\.òòòòò,Aò\òò$òò4ò(òò<ò*òò
ò(ò#òPò<
ð, €HØ€Gò#ò.ò.òò
*òò!ò"=ò%òò òòòò
ò
%&òNòò$.ò
ð #ÐØ$Ðò)ò#ò-òòò)õr   rE   N)Ú__doc__Útwisted.internet.protocolr   Útwisted.python.reflectr   ÚBEGIN_HANDLERÚ
DO_HANDLERr„   r¯   rô   r   r   r!   r'   r+   Ú	Exceptionr-   rE   r   r   r   Ú<module>re     sh   ðñõ" /Ý 6ð €Ø€
Ø€à€
Ø Ñ)Ð òòòòòôI�ô Iôs�õ sr   