Edit File: expatbuilder.pyo
� ��7ec�����������@���s���d��Z��d�d�l�m�Z�m�Z�m�Z�d�d�l�m�Z�m�Z�m�Z�d�d�l�m �Z �d�d�l �m�Z�m�Z�d�d�l �m�Z�d�d�l�Te�j�Z�e�j�Z�e�j�Z�e�j�j�Z�e�j�j�Z�e�j�j�Z�e�j�j�Z�e�j����Z�i �e�j�e�d���d �6e�j�e�d ���d�6e�j�e�d���d �6e�j�e�d���d�6e�j�e�d���d�6e�j�e�d���d�6e�j�e�d���d�6e�j�e�d���d�6e�j�e�d���d�6Z�d�e�f�d�������YZ�d����Z�d����Z �d�f��d�������YZ!�e�e�e�f�Z"�d �e�f�d!�������YZ#�d"�e�f�d#�������YZ$�d$�e$�f�d%�������YZ%�d&�e$�f�d'�������YZ&�d(�Z'�d)�e'�Z(�d*�e!�f�d+�������YZ)�d,�f��d-�������YZ*�d.�e*�e!�f�d/�������YZ+�d0�e*�e)�f�d1�������YZ,�d2�e-�f�d3�������YZ.�d4�e!�f�d5�������YZ/�e0�d6���Z1�e0�d7���Z2�e0�d8���Z3�e0�d9���Z4�d:����Z5�d;�S(<���s����Facility to use the Expat parser to load a minidom instance from a string or file. This avoids all the overhead of SAX and pulldom to gain performance. i����(���t ���xmlbuildert���minidomt���Node(���t���EMPTY_NAMESPACEt���EMPTY_PREFIXt���XMLNS_NAMESPACE(���t���expat(���t ���_append_childt���_set_attribute_node(���t ���NodeFilter(���t���*t���cdatat���CDATAt���enumerationt���ENUMt���entityt���ENTITYt���entitiest���ENTITIESt���idt���IDt���idreft���IDREFt���idrefst���IDREFSt���nmtokent���NMTOKENt���nmtokenst���NMTOKENSt���ElementInfoc�����������B���sb���e��Z�d�Z�d �d���Z�d����Z�d����Z�d����Z�d����Z�d����Z �d ����Z �d ����Z�d����Z�RS(���t ���_attr_infot���_modelt���tagNamec���������C���s���|�|��_��g��|��_�|�|��_�d��S(���N(���R ���R���R���(���t���selfR ���t���model(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���__init__A���s���� c���������C���s���|��j��|��j�|��j�f�S(���N(���R���R���R ���(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���__getstate__F���s����c���������C���s���|�\�|��_��|��_�|��_�d��S(���N(���R���R���R ���(���R!���t���state(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���__setstate__I���s����c���������C���s\���xR�|��j��D]G�}�|�d�|�k�r �|�d�}�|�d�d�k�rB�t�d�St�|�d�Sq �q �Wt�j�S(���Ni���i����i����t���(R���(���R���t ���_typeinfo_mapR���t���_no_type(���R!���t���anamet���infot���t(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���getAttributeTypeL���s���� c���������C���s���t��j�S(���N(���R���R)���(���R!���t���namespaceURIt ���localName(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���getAttributeTypeNSV���s����c���������C���s:���|��j��r2�|��j��d�}�|�t�j�j�t�j�j�f�k�St�Sd��S(���Ni����(���R���R���R"���t ���XML_CTYPE_ANYt���XML_CTYPE_MIXEDt���False(���R!���t���type(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���isElementContentY���s ���� c���������C���s(���|��j��r �|��j��d�t�j�j�k�St�Sd��S(���Ni����(���R���R���R"���t���XML_CTYPE_EMPTYR3���(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���isEmptya���s���� c���������C���s6���x/�|��j��D]$�}�|�d�|�k�r �|�d�d�k�Sq �Wt�S(���Ni���i����R���(���R���R3���(���R!���R*���R+���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���isIdg���s����c���������C���s���|��j��|�|�f���S(���N(���R8���(���R!���t���eurit���enamet���auriR*���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���isIdNSm���s����(���R���R���R ���N( ���t���__name__t ���__module__t ���__slots__t���NoneR#���R$���R&���R-���R0���R5���R7���R8���R<���(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR���>���s��� c���������C���s���|��j��|�|���S(���N(���t���_intern_setdefault(���t���buildert���s(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���_internq���s����c���������C���s����|�j��d���}�|��j�}�t�|���d�k�ry�|�\�}�}�}�|�|�|���}�d�|�|�f�}�|�|�|���}�|�|�|���}�n%�|�\�}�}�t�}�|�|�|���}�}�|�|�|���|�|�|�f�S(���Nt��� i���s���%s:%s(���t���splitRA���t���lenR���(���RB���t���namet���partst���internt���urit ���localnamet���prefixt���qname(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���_parse_ns_namet���s���� t���ExpatBuilderc�����������B���s ��e��Z�d��Z�d�d���Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �d����Z�d ����Z�d ����Z �d����Z�d����Z�d ����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�RS(���sP���Document builder that uses Expat to build a ParsedXML.DOM document instance.c���������C���sw���|�d��k�r�t�j����}�n��|�|��_�|��j�j�d��k �rN�t�|��j�j���|��_�n�d��|��_�t�|��_�d��|��_ �|��j ����d��S(���N(���R@���R����t���Optionst���_optionst���filtert���FilterVisibilityControllert���_filterR���t���_finish_start_elementt���_parsert���reset(���R!���t���options(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR#�������s���� c���������C���s ���t��j����S(���s���Create a new parser object.(���R���t���ParserCreate(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���createParser����s����c���������C���sh���|��j��sa�|��j����|��_��|��j��j�j�|��_�t�|��j��_�t�|��j��_�t�|��j��_�|��j �|��j����n��|��j��S(���s7���Return the parser object, creating a new one if needed.( ���RW���R[���RJ���t ���setdefaultRA���t���Truet���buffer_textt���ordered_attributest���specified_attributest���install(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt ���getParser����s���� c���������C���s@���t��j�t�d�d���|��_�|��j�|��_�|��j�j�|��_�t�|��_�d�S(���s6���Free all data structures used during DOM construction.N( ���t���theDOMImplementationt���createDocumentR���R@���t���documentt���curNodet ���_elem_infoR3���t���_cdata(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRX�������s ����c���������C���s����|��j��|�_�|��j�|�_�|��j�|�_�|��j�|�_�|��j�j �rK�|��j �|�_�n��|��j�|�_ �|��j�j�rr�|��j�|�_�n��|��j�j�r��|��j�|�_�|��j�|�_�|��j�|�_�n�|��j�|�_�|��j�|�_�|��j�|�_�|��j�|�_�|��j�|�_ �d�S(���s>���Install the callbacks needed to build the DOM into the parser.N(!���t���start_doctype_decl_handlert���StartDoctypeDeclHandlert���first_element_handlert���StartElementHandlert���end_element_handlert���EndElementHandlert ���pi_handlert���ProcessingInstructionHandlerRR���R���t���entity_decl_handlert���EntityDeclHandlert���notation_decl_handlert���NotationDeclHandlert���commentst���comment_handlert���CommentHandlert���cdata_sectionst���start_cdata_section_handlert���StartCdataSectionHandlert���end_cdata_section_handlert���EndCdataSectionHandlert���character_data_handler_cdatat���CharacterDataHandlert���character_data_handlert���external_entity_ref_handlert���ExternalEntityRefHandlert���xml_decl_handlert���XmlDeclHandlert���element_decl_handlert���ElementDeclHandlert���attlist_decl_handlert���AttlistDeclHandler(���R!���t���parser(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRa�������s$����c���������C���s����|��j�����}�t�}�yl�xU�|�j�d���}�|�s1�Pn��|�j�|�d���|�rc�|��j�j�rc�|��j�|���n��t�}�q�W|�j�d�t���Wn�t�k �r��n�X|��j�}�|��j ����d�|��_�|�S(���sI���Parse a document from a file object, returning the document node.i���i���i����t����i�@��N(���Rb���R]���t���readt���ParseRe���t���documentElementt ���_setup_subsetR3���t���ParseEscapeRX���R@���RW���(���R!���t���fileR����t���first_buffert���buffert���doc(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt ���parseFile����s$���� c���������C���sa���|��j�����}�y!�|�j�|�t���|��j�|���Wn�t�k �r@�n�X|��j�}�|��j����d�|��_�|�S(���s<���Parse a document from a string, returning the document node.N( ���Rb���R����R]���R����R����Re���RX���R@���RW���(���R!���t���stringR����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���parseString����s���� c���������C���sD���|��j��j�r@�t����}�|�j�|���|�j����}�|�|��j��j�_�n��d�S(���s/���Load the internal subset if there might be one.N(���Re���t���doctypet���InternalSubsetExtractorR����t ���getSubsett���internalSubset(���R!���R����t ���extractort���subset(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR��������s ���� c���������C���s����|��j��j�j�|�|�|���}�|��j��|�_�t�|��j��|���|�|��j��_�|��j�r��|��j�j�|���t�k�r��d��|��j��_�|��j��j �d�=d��}�d��|��j�_�d��|��j�_ �n��|�r��|�d��k �r��g��|�j�_�g��|�j�_�n��d��|��j�_�d��|��j�_�|��j�|��j�_�n��d��S(���Ni����(���Re���t���implementationt���createDocumentTypet ���ownerDocumentR���R����RU���t ���acceptNodet ���FILTER_REJECTR@���t ���childNodesRW���Rr���Rt���R���t���_seqt ���notationsRw���Rp���t���end_doctype_decl_handlert���EndDoctypeDeclHandler(���R!���t���doctypeNamet���systemIdt���publicIdt���has_internal_subsetR����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRi�������s$����! c���������C���sO���|��j��j�r�|��j�|��j�_�n��|��j�|��j�_�|��j�p<�|��j�sK�t �|��_ �n��d��S(���N(���RR���Ru���Rv���RW���Rw���Ro���Rp���Rg���RU���R���t���_finish_end_element(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR������s ����c���������C���s]���|��j��j�|�|���}�t�|��j�|���|��j�rY�|��j�j�|���t�k�rY�|��j�j�|���n��d��S(���N(���Re���t���createProcessingInstructionR���Rf���RU���R����R����t���removeChild(���R!���t���targett���datat���node(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRo�����s����!c���������C���s����|��j��j�}�|��j�rd�|��j�rF�|�d�j�t�k�rF�|�d�j�|���d��S|��j�j�|���}�t �|��_�n��|�r��|�d�j�t �k�r��|�d�}�|�j�|�}�|�j�}�|�|�d�<|�d�<d��St �j����}�|�j�}�|�|�d�<|�d�<|��j�|�d�<t�|��j��|���d��S(���Ni����R����t ���nodeValueR����(���Rf���R����Rh���t���_cdata_continuet���nodeTypet���CDATA_SECTION_NODEt ���appendDataRe���t���createCDATASectionR]���t ���TEXT_NODER����t���__dict__R���t���TextR���(���R!���R����R����R����t���valuet���d(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR}�����s&���� c���������C���s����|��j��j�}�|�rU�|�d�j�t�k�rU�|�d�}�|�j�}�|�j�|�|�d�<|�d�<d��St�j����}�|�j�}�|�j�|�|�d�<|�d�<|��j�|�d�<t �|��j��|���d��S(���Ni����R����R����R����( ���Rf���R����R����R����R����R����R���R����Re���R���(���R!���R����R����R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR���(��s���� c��� ������C���s����|�r �d��S|��j��j�s�d��S|��j�j�|�|�|�|���}�|�d��k �rf�|��j�j�|���} �|�j�j�| ���n��|��j�j�j�j �j�|���|��j �r��|��j �j�|���t�k�r��|��j�j�j�j �d�=n��d��S(���Ni����( ���RR���R���Re���t���_create_entityR@���t���createTextNodeR����t���appendR����R����RU���R����R����( ���R!���t ���entityNamet���is_parameter_entityR����t���baseR����R����t���notationNameR����t���child(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRq���5��s����!c���������C���sl���|��j��j�|�|�|���}�|��j��j�j�j�j�|���|��j�rh�|��j�j�|���t�k�rh�|��j��j�j�j�d�=n��d��S(���Ni����( ���Re���t���_create_notationR����R����R����R����RU���R����t ���FILTER_ACCEPT(���R!���R����R����R����R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRs���G��s����!c���������C���sZ���|��j��j�|���}�t�|��j�|���|��j�rV�|��j�j�|���t�k�rV�|��j�j�|���n��d��S(���N(���Re���t ���createCommentR���Rf���RU���R����R����R����(���R!���R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRv���M��s����!c���������C���s���t��|��_�t�|��_�d��S(���N(���R]���Rh���R3���R����(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRy���S��s���� c���������C���s���t��|��_�t��|��_�d��S(���N(���R3���Rh���R����(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR{���W��s���� c���������C���s���d�S(���Ni���(����(���R!���t���contextR����R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����[��s����c���������C���sK���|��j��d��k�r%�|��j�r%�t�|��_�n��|��j�|��j����_�|��j�|�|���d��S(���N(���RU���R@���Rg���R���R����t���start_element_handlerRb���Rl���(���R!���RH���t ���attributes(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRk���^��s����c���������C���s����|��j��j�|���}�t�|��j�|���|�|��_�|�r��x��t�d�t�|���d���D]��}�t�j�|�|�t�d��t ���}�|�|�d�}�|�j�d�j�}�|�|�d�<|�d�<|�j�}�|�|�d�<|�d�<|��j��|�d�<t �|�|���qJ�Wn��|�|��j��j�k �r��|��j�|���n��d��S(���Ni����i���i���R����R����R����R����(���Re���t ���createElementR���Rf���t���rangeRG���R���t���AttrR���R@���R���R����R����R���R����RV���(���R!���RH���R����R����t���it���aR����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����d��s ���� c���������C���s����|��j��r��|�|��j�j�k�r�d��S|��j��j�|���}�|�t�k�rJ�t�|����n�|�t�k�rc�t�|����n�d��S|�j�|��_ �|�j�j �|���|�j����n��d��S(���N(���RU���Re���R����t���startContainerR����t���Rejectert���FILTER_SKIPt���Skippert ���parentNodeRf���R����t���unlink(���R!���R����t���filt(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRV���x��s���� c���������C���s&���|��j��}�|�j�|��_��|��j�|���d��S(���N(���Rf���R����R����(���R!���RH���Rf���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRm������s���� c���������C���s����|��j��j�|�j���}�|�r.�|��j�|�|���n��|��j�r��|�|��j�j�k�rM�d��S|��j�j�|���t�k�r��|��j �j �|���|�j����q��n��d��S(���N(���Rg���t���getR ���t���_handle_white_text_nodesRU���Re���R����R����R����Rf���R����R����(���R!���Rf���R+���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� c���������C���s����|��j��j�s�|�j����r�d��Sg��}�x@�|�j�D]5�}�|�j�t�k�r-�|�j�j����r-�|�j�|���q-�q-�Wx�|�D]�}�|�j �|���qm�Wd��S(���N( ���RR���t���whitespace_in_element_contentR5���R����R����R����R����t���stripR����R����(���R!���R����R+���t���LR����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� c���������C���sD���|��j��j�|���}�|�d��k�r7�t�|�|���|��j��|�<n �|�|�_�d��S(���N(���Rg���R����R@���R���R���(���R!���RH���R"���R+���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s����c������ ���C���sf���|��j��j�|���}�|�d��k�r:�t�|���}�|�|��j��|�<n��|�j�j�d��|�d��d��|�d�|�|�g���d��S(���Ni����(���Rg���R����R@���R���R���R����(���R!���t���elemRH���R4���t���defaultt���requiredR+���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� c���������C���sL���|�|��j��_�|�|��j��_�|�d�k�rH�|�r9�t�|��j��_�qH�t�|��j��_�n��d��S(���Ni����(���Re���t���versiont���encodingR]���t ���standaloneR3���(���R!���R����R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s����N( ���R=���R>���t���__doc__R@���R#���R[���Rb���RX���Ra���R����R����R����Ri���R����Ro���R}���R���Rq���Rs���Rv���Ry���R{���R����Rk���R����RV���Rm���R����R����R����R����R����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRP�������s:��� RT���c�����������B���s����e��Z�d��Z�d�Z�d����Z�d����Z�d����Z�i�e�j�e �j �6e�j�e �j�6e�j �e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j�6e�j�e �j �6Z!�RS(���so���Wrapper around a DOMBuilderFilter which implements the checks to make the whatToShow filter attribute work.RS���c���������C���s ���|�|��_��d��S(���N(���RS���(���R!���RS���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR#������s����c���������C���su���|��j��|�j�}�|��j�j�|�@rm�|��j�j�|���}�|�t�k�rG�t���n��|�t�k�ri�t�d�t �|�����n��|�St �Sd��S(���Ns)���startContainer() returned illegal value: (���t���_nodetype_maskR����RS���t ���whatToShowR����t���FILTER_INTERRUPTR����t���_ALLOWED_FILTER_RETURNSt ���ValueErrort���reprR����(���R!���R����t���maskt���val(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� c���������C���s����|��j��|�j�}�|��j�j�|�@r��|��j�j�|���}�|�t�k�rG�t���n��|�t�k�r��|�j�}�x�|�j �D]�}�|�j �|���qg�Wt�S|�t�k�r��t �d�t�|�����n��|�St�Sd��S(���Ns%���acceptNode() returned illegal value: (���R����R����RS���R����R����R����R����R����R����R����t���appendChildR����R����R����R����R����(���R!���R����R����R����t���parentR����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� (���RS���("���R=���R>���R����R?���R#���R����R����R ���t���SHOW_ELEMENTR���t���ELEMENT_NODEt���SHOW_ATTRIBUTEt���ATTRIBUTE_NODEt ���SHOW_TEXTR����t���SHOW_CDATA_SECTIONR����t���SHOW_ENTITY_REFERENCEt���ENTITY_REFERENCE_NODEt���SHOW_ENTITYt���ENTITY_NODEt���SHOW_PROCESSING_INSTRUCTIONt���PROCESSING_INSTRUCTION_NODEt���SHOW_COMMENTt���COMMENT_NODEt ���SHOW_DOCUMENTt ���DOCUMENT_NODEt���SHOW_DOCUMENT_TYPEt���DOCUMENT_TYPE_NODEt���SHOW_DOCUMENT_FRAGMENTt���DOCUMENT_FRAGMENT_NODEt ���SHOW_NOTATIONt ���NOTATION_NODER����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRT������s$��� t���FilterCrutchc�����������B���s���e��Z�d�Z�d����Z�RS(���t���_buildert���_levelt ���_old_startt���_old_endc���������C���sO���d�|��_��|�|��_�|�j�}�|�j�|��_�|�j�|��_�|��j�|�_�|��j�|�_�d��S(���Ni����( ���R��R��RW���Rl���R��Rn���R��R����Rm���(���R!���RB���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR#�����s���� (���R��R��R��R��(���R=���R>���R?���R#���(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�� ��s���R����c�����������B���s)���e��Z�d�Z�d�����Z�d����Z�d����Z�RS(���c���������C���s>���t��j�|��|���|�j�}�x�d�D]�}�t�|�|�d����q �Wd��S(���NRp���Rw���R~���Rz���R|���R����(���Rp���Rw���R~���Rz���R|���R����(���R��R#���RW���t���setattrR@���(���R!���RB���R����RH���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR#�����s���� ���� c���������G���s���|��j��d�|��_��d��S(���Ni���(���R��(���R!���t���args(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����$��s����c���������G���sZ���|��j��d�k�rF�|��j�j�}�|��j�j�|���|��j�|�_�|��j�|�_�n�|��j��d�|��_��d��S(���Ni����i���(���R��R��RW���Ra���R��Rl���R��Rn���(���R!���R��R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRm���'��s����(����(���R=���R>���R?���R#���R����Rm���(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR������s��� R����c�����������B���s ���e��Z�d�Z�d�����Z�d����Z�RS(���c���������G���sB���|��j��j�}�|��j�|����|��j��j�|�k �r>�|��j�d�|��_�n��d��S(���Ni���(���R��Rf���R��R��(���R!���R��R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����4��s���� c���������G���s`���|��j��d�k�r?�|��j�|��j�j�_�|��j�|��j�j�_�d��|��_�n�|��j��d�|��_��|��j�|����d��S(���Ni����i���(���R��R��R��RW���Rl���R��Rn���R@���(���R!���R��(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRm���:��s����(����(���R=���R>���R?���R����Rm���(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����1��s��� s8���http://xml.python.org/entities/fragment-builder/internals����<!DOCTYPE wrapper %%s [ <!ENTITY fragment-builder-internal SYSTEM "%s"> %%s ]> <wrapper %%s >&fragment-builder-internal;</wrapper>t���FragmentBuilderc�����������B���sP���e��Z�d��Z�d�d���Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �RS( ���s����Builder which constructs document fragments given XML source text and a context node. The context node is expected to provide information about the namespace declarations which are in scope at the start of the fragment. c���������C���sM���|�j��t�k�r$�|�|��_�|�|��_�n�|�j�|��_�|�|��_�t�j�|��|���d��S(���N(���R����R����t���originalDocumentR����R����RP���R#���(���R!���R����RY���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR#���b��s���� c���������C���s���t��j�|����d��|��_�d��S(���N(���RP���RX���R@���t���fragment(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRX���k��s���� c���������C���s���|��j��|�j������S(���sR���Parse a document fragment from a file object, returning the fragment node.(���R����R����(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����o��s����c��� ������C���s����|�|��_��|��j����}�|��j�j�}�d�}�|�r��|�j�p?�|��j����}�|�j�rd�d�|�j�|�j�f�}�q��|�j�r��d�|�j�}�q��n�d�}�|��j����}�t �|�|�|�f�}�y�|�j �|�d���Wn�|��j�������n�X|��j�}�|��j����|�S(���sM���Parse a document fragment from a string, returning the fragment node.R����s���PUBLIC "%s" "%s"s���SYSTEM "%s"i���( ���t���_sourceRb���R ��R����R����t���_getDeclarationsR����R����t���_getNSattrst���_FRAGMENT_BUILDER_TEMPLATER����RX���R ��( ���R!���R����R����R����t���identR����t���nsattrsRe���R ��(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����t��s,���� c���������C���s���|��j��j�j�}�d�}�|�r�x��t�|�j�j���D]v�}�|�j�j�|���}�|�rY�|�d�}�n��d�|�|�j�f�}�|�j�r��d�|�|�j�|�j �f�}�q.�d�|�|�j �f�}�q.�Wx��t�|�j �j���D]��}�|�j �j�|���}�|�r��|�d�}�n��d�|�|�j�f�}�|�j�rd�|�|�j�|�j �f�}�n5�|�j �r=d�|�|�j �f�}�n�d �|�|�j�j�f�}�|�j �rrd �|�|�j �f�}�n��|�d�}�q��Wn��|�S(���s����Re-create the internal subset from the DocumentType node. This is only needed if we don't already have the internalSubset as a string. R����s��� s���%s<!NOTATION %ss!���%s PUBLIC "%s" "%s">s���%s SYSTEM "%s">s ���%s<!ENTITY %ss ���%s PUBLIC "%s" "%s"s���%s SYSTEM "%s"s���%s "%s"s���%s NOTATION %st���>(���R����R����R����R����R����t���lengtht���itemt���nodeNameR����R����R���t ���firstChildR����R����(���R!���R����RC���R����t���notationR���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�����s6���� c���������C���s���d�S(���NR����(����(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR �����s����c���������C���s����|�t��k�r��|��j�}�|��j�}�|��j�j�|���}�|��j�|��_�|��j�j����|��_�|��j�|��_�z�|�j�|��j �d���Wd��|�|��_�|�|��_�d��|��_ �Xd�St�j�|��|�|�|�|���Sd��S(���Ni���i����( ���t$���_FRAGMENT_BUILDER_INTERNAL_SYSTEM_IDRe���Rf���RW���t���ExternalEntityParserCreateR ��t���createDocumentFragmentR ��R����R��R@���RP���R����(���R!���R����R����R����R����t���old_documentt���old_cur_nodeR����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� N(���R=���R>���R����R@���R#���RX���R����R����R��R ��R����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR��Y��s��� $ t ���Namespacesc�����������B���s;���e��Z�d��Z�d����Z�d����Z�d����Z�d����Z�d����Z�RS(���s7���Mix-in class for builders; adds support for namespaces.c���������C���s ���g��|��_��d��S(���N(���t���_ns_ordered_prefixes(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���_initNamespaces���s����c���������C���s���t��j�d�d���}�t�|�_�|�S(���s'���Create a new namespace-handling parser.t���namespace_separatorRE���(���R���RZ���R]���t���namespace_prefixes(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR[������s���� c���������C���s/���t��j�|��|���|��j�j�r+�|��j�|�_�n��d�S(���s.���Insert the namespace-handlers onto the parser.N(���RP���Ra���RR���t���namespace_declarationst���start_namespace_decl_handlert���StartNamespaceDeclHandler(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRa������s����c���������C���s���|��j��j�|�|�f���d�S(���s/���Push this namespace declaration on our storage.N(���R��R����(���R!���RM���RK���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR"�����s����c���������C���s���d�|�k�r*�t��|��|���\�}�}�}�}�n�t�}�|�}�d��}�t�}�t�j�|�|�|�|���}�|��j�|�_�t�|��j �|���|�|��_ �|��j �rIx��|��j �D]��\�}�}�|�r��t�j�t�|��d�|���t �|�d���}�n�t�j�d�t �d�t���}�|�j�d�j�} �|�| �d�<| �d�<|�j�} �|�| �d�<| �d�<|��j�| �d�<t�|�|���q��W|��j �2n��|�r�|�j�} �|�j�}�xt�d�t�|���d ���D]�}�|�|�} �|�|�d �}�d�| �k�r�t��|��| ���\�}�}�}�}�t�j�|�|�|�|���}�|�| �|�<|�|�|�|�f�<n2�t�j�| �t�| �t���}�|�| �| �<|�|�t�| �f�<|�j�d�j�} �|�| �d�<| �d�<|�j�} �|��j�| �d�<|�| �d�<| �d�<|�| �d�<qzWn��d��S(���NRE���s���xmlns:t���xmlnsi����R����R����R����R����i���i���t���ownerElement(���RO���R���R@���R���R���t���ElementRe���R����R���Rf���R��R����RD���R���R����R����R���t���_attrst���_attrsNSR����RG���(���R!���RH���R����RK���RL���RM���RN���R����R����R����R'��R(��R����R*���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������sZ���� (���R=���R>���R����R��R[���Ra���R"��R����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�����s��� 4t���ExpatBuilderNSc�����������B���s���e��Z�d��Z�d����Z�RS(���s*���Document builder that supports namespaces.c���������C���s���t��j�|����|��j����d��S(���N(���RP���RX���R��(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRX���5��s���� (���R=���R>���R����RX���(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR)��2��s���t���FragmentBuilderNSc�����������B���s ���e��Z�d��Z�d����Z�d����Z�RS(���s*���Fragment builder that supports namespaces.c���������C���s���t��j�|����|��j����d��S(���N(���R��RX���R��(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRX���=��s���� c���������C���s����d�}�|��j��}�g��}�x��|�r��t�|�d���r��x��|�j�j����D]p�\�}�}�|�|�k�r[�q=�n��|�j�|���|�r{�d�|�}�n�d�}�|�r��d�|�|�|�f�}�q=�d�|�|�f�}�q=�Wn��|�j�}�q�W|�S(���sN���Return string of namespace attributes from this element and ancestors.R����t���_ns_prefix_uris���xmlns:R$��s���%s %s='%s's��� %s='%s'(���R����t���hasattrR+��t���itemsR����R����(���R!���t���attrsR����R����RM���RK���t���declname(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR ��A��s"���� (���R=���R>���R����RX���R ��(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR*��:��s��� R����c�����������B���s���e��Z�d��Z�RS(���sE���Exception raised to short-circuit parsing in InternalSubsetExtractor.(���R=���R>���R����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����_��s���R����c�����������B���sS���e��Z�d��Z�d�Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �d����Z�RS( ���sB���XML processor which can rip out the internal document type subset.c���������C���s���|��j��S(���s'���Return the internal subset as a string.(���R����(���R!���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����h��s����c���������C���s,���y�t��j�|��|���Wn�t�k �r'�n�Xd��S(���N(���RP���R����R����(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����l��s���� c���������C���s,���y�t��j�|��|���Wn�t�k �r'�n�Xd��S(���N(���RP���R����R����(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����r��s���� c���������C���s���|��j��|�_�|��j�|�_�d��S(���N(���Ri���Rj���R����Rl���(���R!���R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRa���x��s����c���������C���sF���|�r9�|��j�����}�g��|��_�|��j�j�|�_�|��j�|�_�n �t������d��S(���N(���Rb���R����R����t���DefaultHandlerR����R����R����(���R!���RH���R����R����R����R����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyRi���|��s���� c���������C���s@���d�j��|��j���j�d�d���j�d�d���}�|�|��_�t������d��S(���NR����s��� s��� s��� (���t���joinR����t���replaceR����(���R!���RC���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s����* c���������C���s ���t�������d��S(���N(���R����(���R!���RH���R.��(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s����N(���R=���R>���R����R@���R����R����R����R����Ra���Ri���R����R����(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR����c��s��� c���������C���sp���|�r�t�����}�n �t����}�t�|��t���r]�t�|��d���}�z�|�j�|���}�Wd�|�j����Xn�|�j�|����}�|�S(���s{���Parse a document, returning the resulting Document node. 'file' may be either a file name or an open file object. t���rbN(���R)��RP���t ���isinstancet���StringTypest���openR����t���close(���R����t ���namespacesRB���t���fpt���result(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���parse���s���� c���������C���s(���|�r�t�����}�n �t����}�|�j�|����S(���sO���Parse a document from a string, returning the resulting Document node. (���R)��RP���R����(���R����R8��RB���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyR�������s���� c���������C���sv���|�r�t��|���}�n�t�|���}�t�|��t���rc�t�|��d���}�z�|�j�|���}�Wd�|�j����Xn�|�j�|����}�|�S(���s����Parse a fragment of a document, given the context from which it was originally extracted. context should be the parent of the node(s) which are in the fragment. 'file' may be either a file name or an open file object. R3��N(���R*��R��R4��R5��R6��R����R7��(���R����R����R8��RB���R9��R:��(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt ���parseFragment���s����c���������C���s.���|�r�t��|���}�n�t�|���}�|�j�|����S(���s����Parse a fragment of a document from a string, given the context from which it was originally extracted. context should be the parent of the node(s) which are in the fragment. (���R*��R��R����(���R����R����R8��RB���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���parseFragmentString���s����c���������C���s!���|��j��r�t�|����St�|����Sd�S(���s,���Create a builder based on an Options object.N(���R8��R)��RP���(���RY���(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���makeBuilder���s���� N(6���R����t���xml.domR����R���R���R���R���R���t���xml.parsersR���t���xml.dom.minidomR���R���t���xml.dom.NodeFilterR ���t���xml.dom.minicompatR����R����R����t���DOMBuilderFilterR����R����R����R����t���getDOMImplementationRc���t���TypeInfoR@���R(���t���objectR���RD���RO���RP���R����RT���R��R����R����R��R��R��R��R)��R*��t ���ExceptionR����R����R]���R;��R����R<��R=��R>��(����(����(����s,���/usr/lib64/python2.7/xml/dom/expatbuilder.pyt���<module>���s`��� 3 ��I:ud%,