All classes:
- lxml.isoschematron.Schematron
- lxml.ElementInclude.FatalIncludeError
- lxml.ElementInclude.LimitedRecursiveIncludeError
- lxml.builder.ElementMaker
- lxml.doctestcompare.LXMLOutputChecker
- lxml.doctestcompare.LHTMLOutputChecker
- lxml.doctestcompare._RestoreChecker
- lxml.cssselect.LxmlTranslator
- lxml.cssselect.LxmlHTMLTranslator
- lxml.cssselect.CSSSelector
- lxml.sax.SaxError
- lxml.sax.ElementTreeContentHandler
- lxml.sax.ElementTreeProducer
- lxml.html._setmixin.SetMixin
- lxml.html.Classes
- lxml.html.HtmlMixin
- lxml.html._MethodFunc
- lxml.html.HtmlComment
- lxml.html.HtmlElement
- lxml.html.HtmlProcessingInstruction
- lxml.html.HtmlEntity
- lxml.html.HtmlElementClassLookup
- lxml.html.FormElement
- lxml.html.FieldsDict
- lxml.html.InputGetter
- lxml.html.InputMixin
- lxml.html.TextareaElement
- lxml.html.SelectElement
- lxml.html.MultipleSelectOptions
- lxml.html.RadioGroup
- lxml.html.CheckboxGroup
- lxml.html.CheckboxValues
- lxml.html.InputElement
- lxml.html.LabelElement
- lxml.html.HTMLParser
- lxml.html.XHTMLParser
- lxml.html.soupparser._PseudoTag
- lxml.html.html5parser.HTMLParser
- lxml.html.html5parser.XHTMLParser
- lxml.html.diff.fake_cython
- lxml.html._difflib.fake_cython
- lxml.html._difflib.SequenceMatcher
- lxml.html._difflib.Differ
- lxml.html._difflib.HtmlDiff
- lxml.html.diff.DEL_START
- lxml.html.diff.DEL_END
- lxml.html.diff.token
- lxml.html.diff.tag_token
- lxml.html.diff.href_token
- lxml.html.diff.InsensitiveSequenceMatcher
- lxml.html._html5builder.DocumentType
- lxml.html._html5builder.Document
- lxml.html._html5builder.TreeBuilder
- lxml.html.formfill.FormNotFound
- lxml.html.formfill.DefaultErrorCreator
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_schematron'
    functionSourceFile: '...fuzz_schematron'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.instrument_imports
    - atheris.Fuzz
    - '...fuzz_schematron.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 27
    functionName: '...fuzz_schematron.TestOneInput'
    functionSourceFile: '...fuzz_schematron'
    functionUses: 0
    functionsReached:
    - _etree.XSLT.strparam
    - <builtin>.super
    - schematron.validate
    - io.BytesIO
    - lxml.isoschematron._stylesheet_param_dict
    - lxml.isoschematron.Schematron.__init__
    - kwargs.items
    - <builtin>.isinstance
    - etree.parse
    - <builtin>.dict
    - _etree.parse
    - lxml.isoschematron.schematron_schema_valid
    - element.nsmap.get
    - lxml.isoschematron.Schematron._extract
    - _etree.iselement
    - etree.getroot
    - _etree.XSLT
    - test_utils.is_expected_error
    - lxml.isoschematron.stylesheet_params
    - kwargsDict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.parse
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 1
    IfCount: 12
    argCount: 14
    argDefaultValues:
    - <ast.Constant object at 0x7f9509173580>
    - <ast.Constant object at 0x7f9509173c40>
    - <ast.Constant object at 0x7f9509173130>
    - <ast.Constant object at 0x7f95091735b0>
    - <ast.Dict object at 0x7f95091739d0>
    - <ast.Dict object at 0x7f9509173100>
    - <ast.Dict object at 0x7f95091730d0>
    - <ast.Constant object at 0x7f9509173880>
    - <ast.Constant object at 0x7f95091737f0>
    - <ast.Constant object at 0x7f95091731f0>
    - <ast.Constant object at 0x7f95091730a0>
    - <ast.Name object at 0x7f95091734f0>
    - <ast.Name object at 0x7f9509173490>
    argNames:
    - self
    - etree
    - file
    - include
    - expand
    - include_params
    - expand_params
    - compile_params
    - store_schematron
    - store_xslt
    - store_report
    - phase
    - error_finder
    - validate_schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 247
    functionName: lxml.isoschematron.Schematron.__init__
    functionSourceFile: lxml.isoschematron
    functionUses: 1
    functionsReached:
    - _etree.parse
    - lxml.isoschematron.schematron_schema_valid
    - element.nsmap.get
    - _etree.XSLT.strparam
    - <builtin>.super
    - lxml.isoschematron.Schematron._extract
    - _etree.iselement
    - kwargs.items
    - etree.getroot
    - kwargsDict.items
    - _etree.XSLT
    - lxml.isoschematron.stylesheet_params
    - <builtin>.isinstance
    - lxml.isoschematron._stylesheet_param_dict
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schematron.validate
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: test_utils.is_expected_error
    functionSourceFile: test_utils
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: '...fuzz_schematron.main'
    functionSourceFile: '...fuzz_schematron'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.isoschematron
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - os.path.join
    - _etree.parse
    - _etree.XPath
    - _etree.RelaxNG
    - os.path.dirname
    - _etree.XSLT
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.parse
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.XSLT
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.XPath
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.RelaxNG
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - arg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: lxml.isoschematron.schematron_schema_valid
    functionSourceFile: lxml.isoschematron
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: lxml.isoschematron.stylesheet_params
    functionSourceFile: lxml.isoschematron
    functionUses: 3
    functionsReached:
    - kwargs.items
    - _etree.XSLT.strparam
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.XSLT.strparam
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - paramsDict
    - kwargsDict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: lxml.isoschematron._stylesheet_param_dict
    functionSourceFile: lxml.isoschematron
    functionUses: 2
    functionsReached:
    - _etree.XSLT.strparam
    - kwargs.items
    - lxml.isoschematron.stylesheet_params
    - <builtin>.isinstance
    - kwargsDict.items
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargsDict.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.isoschematron.Schematron
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - _etree.XPath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: lxml.isoschematron.Schematron._extract
    functionSourceFile: lxml.isoschematron
    functionUses: 2
    functionsReached:
    - element.nsmap.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.nsmap.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.iselement
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.getroot
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etree
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: lxml.isoschematron.Schematron.__call__
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - _etree.iselement
    - etree.getroottree
    - _etree.tostring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.getroottree
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.tostring
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 330
    functionName: lxml.isoschematron.Schematron.schematron
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: lxml.isoschematron.Schematron.validator_xslt
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 344
    functionName: lxml.isoschematron.Schematron.validation_report
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml
    functionSourceFile: lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: lxml.get_include
    functionSourceFile: lxml
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - os.path.join
    - includes.append
    - os.listdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: includes.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml._elementpath
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f950979c040>
    - <ast.Constant object at 0x7f950979c9d0>
    argNames:
    - pattern
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: lxml._elementpath.xpath_tokenizer
    functionSourceFile: lxml._elementpath
    functionUses: 5
    functionsReached:
    - xpath_tokenizer_re.findall
    - namespaces.get
    - tag.split
    - tag.isdecimal
    linkageType: pythonLinkage
    raised:
    - SyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: namespaces.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xpath_tokenizer_re.findall
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.split
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.isdecimal
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: lxml._elementpath.prepare_child
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: lxml._elementpath.prepare_child.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - elem.iterchildren
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.iterchildren
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: lxml._elementpath.prepare_star
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: lxml._elementpath.prepare_star.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - elem.iterchildren
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: lxml._elementpath.prepare_self
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: lxml._elementpath.prepare_self.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: lxml._elementpath.prepare_descendant
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - SyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: lxml._elementpath.prepare_descendant.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - elem.iterdescendants
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.iterdescendants
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: lxml._elementpath.prepare_parent
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: lxml._elementpath.prepare_parent.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - elem.getparent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.getparent
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 1
    IfCount: 14
    argCount: 2
    argDefaultValues: []
    argNames:
    - next
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: lxml._elementpath.prepare_predicate
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - re.match
    - <builtin>.int
    - predicate.append
    linkageType: pythonLinkage
    raised:
    - SyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: predicate.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: lxml._elementpath.prepare_predicate.select
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - elem.getparent
    - elem.get
    - elem.iterchildren
    - parent.iterchildren
    - e.itertext
    - <builtin>.list
    - elem.itertext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.itertext
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.itertext
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.iterchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509567940>
    argNames:
    - path
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 252
    functionName: lxml._elementpath._build_path_iterator
    functionSourceFile: lxml._elementpath
    functionUses: 4
    functionsReached:
    - <builtin>.sorted
    - namespaces.items
    - selector.append
    - lxml._elementpath.xpath_tokenizer
    - xpath_tokenizer_re.findall
    - _cache.clear
    - namespaces.get
    - <builtin>.iter
    - tag.isdecimal
    - <builtin>.len
    - <builtin>.tuple
    - tag.split
    linkageType: pythonLinkage
    raised:
    - ValueError
    - SyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: namespaces.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 95
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _cache.clear
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selector.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f950915ae80>
    - <ast.Constant object at 0x7f950915ad30>
    argNames:
    - elem
    - path
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 309
    functionName: lxml._elementpath.iterfind
    functionSourceFile: lxml._elementpath
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - namespaces.items
    - selector.append
    - lxml._elementpath.xpath_tokenizer
    - xpath_tokenizer_re.findall
    - _cache.clear
    - lxml._elementpath._build_path_iterator
    - namespaces.get
    - <builtin>.iter
    - tag.isdecimal
    - <builtin>.len
    - <builtin>.tuple
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508ff9d90>
    - <ast.Constant object at 0x7f9508ff9a00>
    argNames:
    - elem
    - path
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 320
    functionName: lxml._elementpath.find
    functionSourceFile: lxml._elementpath
    functionUses: 1
    functionsReached:
    - <builtin>.tuple
    - <builtin>.sorted
    - <builtin>.next
    - namespaces.items
    - lxml._elementpath.xpath_tokenizer
    - selector.append
    - xpath_tokenizer_re.findall
    - _cache.clear
    - lxml._elementpath._build_path_iterator
    - namespaces.get
    - <builtin>.iter
    - tag.isdecimal
    - <builtin>.len
    - lxml._elementpath.iterfind
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508d14c10>
    - <ast.Constant object at 0x7f9508d14670>
    argNames:
    - elem
    - path
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 331
    functionName: lxml._elementpath.findall
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.sorted
    - namespaces.items
    - lxml._elementpath.xpath_tokenizer
    - selector.append
    - xpath_tokenizer_re.findall
    - _cache.clear
    - lxml._elementpath._build_path_iterator
    - <builtin>.list
    - <builtin>.iter
    - namespaces.get
    - tag.isdecimal
    - <builtin>.len
    - lxml._elementpath.iterfind
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508d14370>
    - <ast.Constant object at 0x7f9508d144f0>
    - <ast.Constant object at 0x7f9508d142e0>
    argNames:
    - elem
    - path
    - default
    - namespaces
    - with_prefixes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 338
    functionName: lxml._elementpath.findtext
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - lxml._elementpath.find
    - <builtin>.sorted
    - <builtin>.next
    - namespaces.items
    - lxml._elementpath.xpath_tokenizer
    - selector.append
    - xpath_tokenizer_re.findall
    - _cache.clear
    - lxml._elementpath._build_path_iterator
    - namespaces.get
    - <builtin>.iter
    - tag.isdecimal
    - <builtin>.len
    - lxml._elementpath.iterfind
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.ElementInclude
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509a18430>
    argNames:
    - href
    - parse
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: lxml.ElementInclude.default_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached:
    - file.read
    - <builtin>.open
    - file.close
    - etree.parse
    - data.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f950979c850>
    - <ast.Constant object at 0x7f950979ce50>
    argNames:
    - href
    - parse
    - encoding
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: lxml.ElementInclude._lxml_default_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - urllib2.urlopen.read
    - urllib2.urlopen
    - urllib2.urlopen.close
    - etree.parse
    - urllib.request.urlopen
    - data.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen
    functionSourceFile: urllib2
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.urlopen
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen.read
    functionSourceFile: urllib2
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen.close
    functionSourceFile: urllib2
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - loader
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: lxml.ElementInclude._wrap_et_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508dfdb20>
    - <ast.Constant object at 0x7f9508dfdc70>
    argNames:
    - href
    - parse
    - encoding
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: lxml.ElementInclude._wrap_et_loader.load
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508dfdf10>
    - <ast.Constant object at 0x7f9508dfd250>
    - <ast.Name object at 0x7f9508dfd310>
    argNames:
    - elem
    - loader
    - base_url
    - max_depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 156
    functionName: lxml.ElementInclude.include
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached:
    - urllib.parse.urljoin
    - <builtin>.open
    - elem.iter
    - elem.getroot
    - urllib2.urlopen.read
    - e.get
    - <builtin>.set
    - urllib.request.urlopen
    - urlparse.urljoin
    - lxml.ElementInclude._lxml_default_loader
    - urllib2.urlopen.close
    - lxml.ElementInclude._wrap_et_loader.load
    - etree.parse
    - lxml.ElementInclude._wrap_et_loader
    - <builtin>.list
    - elem.getroottree
    - urllib2.urlopen
    - data.decode
    - <builtin>.hasattr
    - lxml.ElementInclude._include
    - e.getparent
    - e.getprevious
    - parent.remove
    - parent.replace
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.getroottree
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 2
    IfCount: 15
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f65af0>
    - <ast.Constant object at 0x7f9508f65250>
    - <ast.Name object at 0x7f9508f65f10>
    - <ast.Constant object at 0x7f9508f65430>
    argNames:
    - elem
    - loader
    - base_url
    - max_depth
    - _parent_hrefs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: lxml.ElementInclude._include
    functionSourceFile: lxml.ElementInclude
    functionUses: 1
    functionsReached:
    - urllib.parse.urljoin
    - <builtin>.open
    - elem.iter
    - urllib2.urlopen.read
    - e.get
    - <builtin>.set
    - urllib.request.urlopen
    - urlparse.urljoin
    - lxml.ElementInclude._lxml_default_loader
    - urllib2.urlopen.close
    - lxml.ElementInclude._wrap_et_loader.load
    - etree.parse
    - lxml.ElementInclude._wrap_et_loader
    - <builtin>.list
    - elem.getroottree
    - urllib2.urlopen
    - data.decode
    - e.getparent
    - lxml.ElementInclude._include
    - e.getprevious
    - parent.remove
    - parent.replace
    linkageType: pythonLinkage
    raised:
    - FatalIncludeError
    - LimitedRecursiveIncludeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.iter
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urljoin
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.urljoin
    functionSourceFile: urlparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.getparent
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.getprevious
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.remove
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.pyclasslookup
    functionSourceFile: lxml.pyclasslookup
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.builder
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - lxml.builder.ElementMaker.__init__
    - <builtin>.callable
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: lxml.builder._GenericAlias
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508d27ee0>
    - <ast.Constant object at 0x7f9508d27520>
    - <ast.Constant object at 0x7f9508d27a30>
    - <ast.Constant object at 0x7f9508d277f0>
    argNames:
    - self
    - typemap
    - namespace
    - nsmap
    - makeelement
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: lxml.builder.ElementMaker.__init__
    functionSourceFile: lxml.builder
    functionUses: 2
    functionsReached:
    - <builtin>.callable
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - elem
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: lxml.builder.ElementMaker.__init__.add_text
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - elem
    - cdata
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 174
    functionName: lxml.builder.ElementMaker.__init__.add_cdata
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - elem
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: lxml.builder.ElementMaker.__init__.add_dict
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - item.items
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - tag
    - children
    - attrib
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: lxml.builder.ElementMaker.__call__
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - ET.iselement
    - elem.append
    - <builtin>.callable
    - <builtin>.isinstance
    - typemap.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typemap.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ET.iselement
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 234
    functionName: lxml.builder.ElementMaker.__getattr__
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 238
    functionName: lxml.builder.ElementMaker.__class_getitem__
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - types.GenericAlias
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.GenericAlias
    functionSourceFile: types
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.usedoctest
    functionSourceFile: lxml.usedoctest
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare.temp_install
    - lxml.doctestcompare._RestoreChecker.install_clone
    - lxml.doctestcompare._find_doctest_frame
    - sys._getframe
    - doctest.OutputChecker.__init__
    - lxml.doctestcompare._RestoreChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508c5fd00>
    - <ast.Constant object at 0x7f9508c5fdc0>
    argNames:
    - html
    - del_module
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 378
    functionName: lxml.doctestcompare.temp_install
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare._RestoreChecker.install_clone
    - lxml.doctestcompare._find_doctest_frame
    - sys._getframe
    - doctest.OutputChecker.__init__
    - lxml.doctestcompare._RestoreChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.doctestcompare
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - doctest.register_optionflag
    - doctest.testmod
    - etree.HTMLParser
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.register_optionflag
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: lxml.doctestcompare.strip
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - v.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: lxml.doctestcompare.norm_whitespace
    functionSourceFile: lxml.doctestcompare
    functionUses: 7
    functionsReached:
    - _norm_whitespace_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _norm_whitespace_re.sub
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.HTMLParser
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: lxml.doctestcompare.html_fromstring
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - etree.fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.fromstring
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 83
    functionName: lxml.doctestcompare.LXMLOutputChecker.check_output
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - re.search
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - _repr_re.search
    - got.strip
    - want.strip
    - <builtin>.getattr
    - lxml.doctestcompare.html_fromstring
    - want.replace
    - got.attrib.keys
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - s.strip
    - want.attrib.keys
    - lxml.doctestcompare.norm_whitespace
    - doctest.OutputChecker._temp_call_super_check_output
    - <builtin>.list
    - etree.fromstring
    - got.split
    - <builtin>.len
    - s.startswith
    - want.startswith
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    - _norm_whitespace_re.sub
    - doctest.OutputChecker.check_output
    - re.escape
    - lxml.doctestcompare.LXMLOutputChecker.compare_docs
    - want_children.pop
    - got_children.pop
    - lxml.doctestcompare.LXMLOutputChecker.get_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: lxml.doctestcompare.LXMLOutputChecker.get_parser
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - _repr_re.search
    - got.strip
    - want.strip
    - s.startswith
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - s.strip
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.check_output
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker._temp_call_super_check_output
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 125
    functionName: lxml.doctestcompare.LXMLOutputChecker.compare_docs
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - re.search
    - want.replace
    - got.attrib.keys
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - want.attrib.keys
    - lxml.doctestcompare.norm_whitespace
    - <builtin>.list
    - got.split
    - <builtin>.len
    - want.startswith
    - _norm_whitespace_re.sub
    - re.escape
    - lxml.doctestcompare.LXMLOutputChecker.compare_docs
    - want_children.pop
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - _repr_re.search
    - s.strip
    - s.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _repr_re.search
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: lxml.doctestcompare.LXMLOutputChecker.tag_compare
    functionSourceFile: lxml.doctestcompare
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - want.startswith
    - want.split
    - got.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 154
    functionName: lxml.doctestcompare.LXMLOutputChecker.text_compare
    functionSourceFile: lxml.doctestcompare
    functionUses: 6
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - re.search
    - want.replace
    - re.escape
    - _norm_whitespace_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.attrib.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.attrib.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want_children.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got_children.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.search
    functionSourceFile: re
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - example
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 181
    functionName: lxml.doctestcompare.LXMLOutputChecker.output_difference
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - attrs.append
    - <builtin>.sorted
    - re.search
    - el.attrib.items
    - html.escape
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - _repr_re.search
    - got.strip
    - want.strip
    - parts.append
    - got.attrib.items
    - lxml.doctestcompare.html_fromstring
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - doctest.OutputChecker.output_difference
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - text.strip
    - s.strip
    - errors.append
    - lxml.doctestcompare.norm_whitespace
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - <builtin>.list
    - etree.fromstring
    - want.attrib.items
    - s.startswith
    - <builtin>.len
    - got.split
    - want.startswith
    - v.strip
    - _norm_whitespace_re.sub
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    - lxml.doctestcompare.strip
    - cgi.escape
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - sys.exc_info
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - re.escape
    - want_children.pop
    - got_children.pop
    - lxml.doctestcompare.LXMLOutputChecker.get_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.output_difference
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 21
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508eaa910>
    argNames:
    - self
    - doc
    - html
    - indent
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 223
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_doc
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - attrs.append
    - <builtin>.sorted
    - lxml.doctestcompare.strip
    - cgi.escape
    - html.escape
    - el.attrib.items
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - parts.append
    - <builtin>.len
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - text.strip
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - v.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 21
    IfCount: 6
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - html
    - indent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 282
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - attrs.append
    - <builtin>.sorted
    - el.attrib.items
    - re.search
    - html.escape
    - parts.append
    - got.attrib.items
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - text.strip
    - lxml.doctestcompare.norm_whitespace
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - <builtin>.list
    - want.attrib.items
    - got.split
    - <builtin>.len
    - want.startswith
    - v.strip
    - _norm_whitespace_re.sub
    - lxml.doctestcompare.strip
    - cgi.escape
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - re.escape
    - want_children.pop
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e6b460>
    argNames:
    - self
    - el
    - html
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - attrs.append
    - <builtin>.sorted
    - cgi.escape
    - el.attrib.items
    - html.escape
    - text.strip
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e5b850>
    argNames:
    - self
    - text
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_text
    functionSourceFile: lxml.doctestcompare
    functionUses: 6
    functionsReached:
    - cgi.escape
    - html.escape
    - text.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.strip
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cgi.escape
    functionSourceFile: cgi
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape
    functionSourceFile: html
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.attrib.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 320
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - attrs.append
    - <builtin>.sorted
    - re.search
    - html.escape
    - got.attrib.items
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - want.split
    - text.strip
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - lxml.doctestcompare.norm_whitespace
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - want.attrib.items
    - got.split
    - want.startswith
    - _norm_whitespace_re.sub
    - cgi.escape
    - re.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9509173670>
    argNames:
    - self
    - want
    - got
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 354
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - cgi.escape
    - html.escape
    - re.search
    - text.strip
    - want.replace
    - re.escape
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - _norm_whitespace_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 347
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.attrib.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.attrib.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f95091731c0>
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 366
    functionName: lxml.doctestcompare.install
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: lxml.doctestcompare._find_doctest_frame
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - sys._getframe
    linkageType: pythonLinkage
    raised:
    - LookupError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - dt_self
    - old_checker
    - new_checker
    - check_func
    - clone_func
    - del_module
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: lxml.doctestcompare._RestoreChecker.__init__
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare._RestoreChecker.install_clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 425
    functionName: lxml.doctestcompare._RestoreChecker.install_clone
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 431
    functionName: lxml.doctestcompare._RestoreChecker.install_dt_self
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 429
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_clone
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 434
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_dt_self
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 436
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_module
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - <builtin>.delattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.delattr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 444
    functionName: lxml.doctestcompare._RestoreChecker.__call__
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.uninstall_module
    - lxml.doctestcompare._RestoreChecker.uninstall_clone
    - lxml.doctestcompare._RestoreChecker.uninstall_dt_self
    - <builtin>.delattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: lxml.doctestcompare._RestoreChecker.call_super
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.uninstall_clone
    - lxml.doctestcompare._RestoreChecker.install_clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    functionSourceFile: sys
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.testmod
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.cssselect
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - etree.FunctionNamespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - xpath
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: lxml.cssselect.LxmlTranslator.xpath_contains_function
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - value.lower
    - cssselect.GenericTranslator.xpath_literal
    - xpath.add_condition
    - function.argument_types
    linkageType: pythonLinkage
    raised:
    - ExpressionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: function.argument_types
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.xpath_literal
    functionSourceFile: cssselect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xpath.add_condition
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - context
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: lxml.cssselect._make_lower_case
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - s.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.FunctionNamespace
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f95091752b0>
    - <ast.Constant object at 0x7f9509175400>
    argNames:
    - self
    - css
    - namespaces
    - translator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: lxml.cssselect.CSSSelector.__init__
    functionSourceFile: lxml.cssselect
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - cssselect.GenericTranslator.__init__
    - cssselect.GenericTranslator.css_to_xpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.css_to_xpath
    functionSourceFile: cssselect
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: lxml.cssselect.CSSSelector.__repr__
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.abs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.abs
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.sax
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: lxml.sax._GenericAlias
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - tag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: lxml.sax._getNsTag
    functionSourceFile: lxml.sax
    functionUses: 3
    functionsReached:
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9509073520>
    argNames:
    - self
    - makeelement
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: lxml.sax.ElementTreeContentHandler.__init__
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - xml.sax.handler.ContentHandler.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.sax.handler.ContentHandler.__init__
    functionSourceFile: xml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: lxml.sax.ElementTreeContentHandler._get_etree
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - lxml.etree.ElementTree
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.ElementTree
    functionSourceFile: lxml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.property
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.sax.ElementTreeContentHandler
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - locator
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: lxml.sax.ElementTreeContentHandler.setDocumentLocator
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: lxml.sax.ElementTreeContentHandler.startDocument
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: lxml.sax.ElementTreeContentHandler.endDocument
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prefix
    - uri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: lxml.sax.ElementTreeContentHandler.startPrefixMapping
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: lxml.sax.ElementTreeContentHandler.endPrefixMapping
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - ns_uri_list.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns_uri_list.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ns_name_tuple
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: lxml.sax.ElementTreeContentHandler._buildTag
    functionSourceFile: lxml.sax
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f95090872e0>
    argNames:
    - self
    - ns_name
    - qname
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: lxml.sax.ElementTreeContentHandler.startElementNS
    functionSourceFile: lxml.sax
    functionUses: 1
    functionsReached:
    - lxml.etree.SubElement.addprevious
    - lxml.etree.SubElement
    - element_stack.append
    - lxml.sax.ElementTreeContentHandler._buildTag
    - <builtin>.hasattr
    - attributes.iteritems
    - attributes.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.iteritems
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.SubElement.addprevious
    functionSourceFile: lxml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.SubElement
    functionSourceFile: lxml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element_stack.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: lxml.sax.ElementTreeContentHandler.processingInstruction
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - lxml.etree.ProcessingInstruction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.ProcessingInstruction
    functionSourceFile: lxml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - ns_name
    - qname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: lxml.sax.ElementTreeContentHandler.endElementNS
    functionSourceFile: lxml.sax
    functionUses: 1
    functionsReached:
    - lxml.sax.ElementTreeContentHandler._buildTag
    linkageType: pythonLinkage
    raised:
    - SaxError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f5a220>
    argNames:
    - self
    - name
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 140
    functionName: lxml.sax.ElementTreeContentHandler.startElement
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - lxml.etree.SubElement.addprevious
    - lxml.etree.SubElement
    - element_stack.append
    - attributes.items
    - lxml.sax.ElementTreeContentHandler._buildTag
    - attributes.iteritems
    - lxml.sax.ElementTreeContentHandler.startElementNS
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: lxml.sax.ElementTreeContentHandler.endElement
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - lxml.sax.ElementTreeContentHandler._buildTag
    - lxml.sax.ElementTreeContentHandler.endElementNS
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: lxml.sax.ElementTreeContentHandler.characters
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: lxml.sax.ElementTreeContentHandler.__class_getitem__
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - types.GenericAlias
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - element_or_tree
    - content_handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: lxml.sax.ElementTreeProducer.__init__
    functionSourceFile: lxml.sax
    functionUses: 1
    functionsReached:
    - xml.sax.xmlreader.AttributesNSImpl
    - element_or_tree.getroot
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element_or_tree.getroot
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.sax.xmlreader.AttributesNSImpl
    functionSourceFile: xml
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 180
    functionName: lxml.sax.ElementTreeProducer.saxify
    functionSourceFile: lxml.sax
    functionUses: 1
    functionsReached:
    - new_prefixes.append
    - <builtin>.min
    - <builtin>.getattr
    - element.getprevious
    - element.getnext
    - nsmap.items
    - content_handler.endPrefixMapping
    - element_nsmap.items
    - lxml.sax.ElementTreeProducer._recursive_saxify
    - lxml.sax.ElementTreeProducer._build_qname
    - content_handler.endElementNS
    - element.items
    - lxml.sax._getNsTag
    - <builtin>.len
    - <builtin>.tuple
    - content_handler.characters
    - siblings.append
    - <builtin>.hasattr
    - content_handler.processingInstruction
    - sibling.getprevious
    - content_handler.startElementNS
    - content_handler.startPrefixMapping
    - nsmap.get
    - sibling.getnext
    - parent_nsmap.get
    - xml.sax.xmlreader.AttributesNSImpl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.getprevious
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: siblings.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sibling.getprevious
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 10
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - element
    - parent_nsmap
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 203
    functionName: lxml.sax.ElementTreeProducer._recursive_saxify
    functionSourceFile: lxml.sax
    functionUses: 2
    functionsReached:
    - new_prefixes.append
    - <builtin>.min
    - nsmap.items
    - content_handler.endPrefixMapping
    - element_nsmap.items
    - lxml.sax.ElementTreeProducer._recursive_saxify
    - lxml.sax.ElementTreeProducer._build_qname
    - content_handler.endElementNS
    - element.items
    - lxml.sax._getNsTag
    - <builtin>.len
    - content_handler.characters
    - <builtin>.tuple
    - content_handler.processingInstruction
    - content_handler.startElementNS
    - content_handler.startPrefixMapping
    - nsmap.get
    - parent_nsmap.get
    - xml.sax.xmlreader.AttributesNSImpl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.getnext
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sibling.getnext
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.processingInstruction
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.characters
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element_nsmap.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent_nsmap.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_prefixes.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - ns_uri
    - local_name
    - nsmap
    - preferred_prefix
    - is_attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: lxml.sax.ElementTreeProducer._build_qname
    functionSourceFile: lxml.sax
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - nsmap.items
    - nsmap.get
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.startPrefixMapping
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.startElementNS
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.endElementNS
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_handler.endPrefixMapping
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nsmap.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nsmap.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - element_or_tree
    - content_handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 281
    functionName: lxml.sax.saxify
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - new_prefixes.append
    - <builtin>.min
    - <builtin>.getattr
    - element.getprevious
    - element.getnext
    - nsmap.items
    - content_handler.endPrefixMapping
    - element_nsmap.items
    - lxml.sax.ElementTreeProducer._recursive_saxify
    - lxml.sax.ElementTreeProducer.saxify
    - lxml.sax.ElementTreeProducer._build_qname
    - content_handler.endElementNS
    - element.items
    - lxml.sax._getNsTag
    - <builtin>.len
    - <builtin>.tuple
    - content_handler.characters
    - siblings.append
    - <builtin>.hasattr
    - content_handler.processingInstruction
    - sibling.getprevious
    - content_handler.startElementNS
    - content_handler.startPrefixMapping
    - lxml.sax.ElementTreeProducer.__init__
    - element_or_tree.getroot
    - nsmap.get
    - sibling.getnext
    - parent_nsmap.get
    - xml.sax.xmlreader.AttributesNSImpl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html.clean
    functionSourceFile: lxml.html.clean
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.soupparser
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f95091a0c10>
    - <ast.Constant object at 0x7f95091a0610>
    argNames:
    - data
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 21
    functionName: lxml.html.soupparser.fromstring
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - res_root.getroottree
    - lxml.html.soupparser._init_node_converters
    - lxml.html.soupparser._init_node_converters.convert_node
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - declaration.output_ready
    - <builtin>.isinstance
    - prev.addnext
    - <builtin>.reversed
    - <builtin>.type
    - bs4.BeautifulSoup
    - lxml.html.soupparser._init_node_converters.converter.add
    - BeautifulSoup.BeautifulSoup
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.hasattr
    - lxml.html.soupparser._parse
    - lxml.html.soupparser._convert_tree
    - match.groups
    - roots.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - source
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 69
    functionName: lxml.html.soupparser._parse
    functionSourceFile: lxml.html.soupparser
    functionUses: 3
    functionsReached:
    - res_root.getroottree
    - lxml.html.soupparser._init_node_converters
    - lxml.html.soupparser._init_node_converters.convert_node
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - declaration.output_ready
    - <builtin>.isinstance
    - prev.addnext
    - <builtin>.reversed
    - <builtin>.type
    - bs4.BeautifulSoup
    - lxml.html.soupparser._init_node_converters.converter.add
    - BeautifulSoup.BeautifulSoup
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.hasattr
    - lxml.html.soupparser._convert_tree
    - match.groups
    - roots.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f95091a04f0>
    - <ast.Constant object at 0x7f95091a0910>
    argNames:
    - file
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 36
    functionName: lxml.html.soupparser.parse
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - res_root.getroottree
    - lxml.html.soupparser._init_node_converters
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - etree.ElementTree
    - declaration.output_ready
    - <builtin>.isinstance
    - prev.addnext
    - <builtin>.reversed
    - <builtin>.type
    - bs4.BeautifulSoup
    - lxml.html.soupparser._init_node_converters.converter.add
    - BeautifulSoup.BeautifulSoup
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.hasattr
    - lxml.html.soupparser._parse
    - lxml.html.soupparser._convert_tree
    - match.groups
    - roots.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ElementTree
    functionSourceFile: etree
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508df1b20>
    argNames:
    - beautiful_soup_tree
    - makeelement
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: lxml.html.soupparser.convert_tree
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - res_root.getroottree
    - lxml.html.soupparser._init_node_converters
    - lxml.html.soupparser._init_node_converters.convert_node
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - root.remove
    - declaration.output_ready
    - <builtin>.isinstance
    - prev.addnext
    - <builtin>.reversed
    - <builtin>.type
    - lxml.html.soupparser._init_node_converters.converter.add
    - <builtin>.enumerate
    - root.getchildren
    - lxml.html.soupparser._convert_tree
    - match.groups
    - roots.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 2
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - beautiful_soup_tree
    - makeelement
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: lxml.html.soupparser._convert_tree
    functionSourceFile: lxml.html.soupparser
    functionUses: 5
    functionsReached:
    - <builtin>.type
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.converter.add
    - lxml.html.soupparser._init_node_converters.convert_node
    - roots.index
    - match.groups
    - <builtin>.enumerate
    - declaration.output_ready
    - res_root.getroottree
    - <builtin>.isinstance
    - lxml.html.soupparser._init_node_converters
    - e.name.lower
    - prev.addnext
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs4.BeautifulSoup
    functionSourceFile: bs4
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: BeautifulSoup.BeautifulSoup
    functionSourceFile: BeautifulSoup
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: lxml.html.soupparser._PseudoTag.__init__
    functionSourceFile: lxml.html.soupparser
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: lxml.html.soupparser._PseudoTag.__iter__
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.name.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: roots.index
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - makeelement
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 190
    functionName: lxml.html.soupparser._init_node_converters
    functionSourceFile: lxml.html.soupparser
    functionUses: 6
    functionsReached:
    - lxml.html.soupparser._init_node_converters.converter
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.converter.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9509054e20>
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: lxml.html.soupparser._init_node_converters.convert_node
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.type
    - lxml.html.soupparser._init_node_converters.find_best_converter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev.addprevious
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev.addnext
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: declaration.output_ready
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.groups
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: res_root.getroottree
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - types
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: lxml.html.soupparser._init_node_converters.converter
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: lxml.html.soupparser._init_node_converters.converter.add
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached:
    - ordered_node_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ordered_node_types.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: lxml.html.soupparser._init_node_converters.find_best_converter
    functionSourceFile: lxml.html.soupparser
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - bs_attrs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: lxml.html.soupparser._init_node_converters.map_attrs
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - bs_attrs.items
    - lxml.html.soupparser.unescape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_attrs.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 305
    functionName: lxml.html.soupparser.unescape
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - parent
    - text
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: lxml.html.soupparser._init_node_converters.append_text
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 238
    functionName: lxml.html.soupparser._init_node_converters.convert_tag
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - lxml.html.soupparser._init_node_converters.map_attrs
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - lxml.html.soupparser.unescape
    - bs_attrs.items
    - etree.HTMLParser.makeelement
    - <builtin>.isinstance
    - lxml.html.soupparser._init_node_converters.convert_node
    - etree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.SubElement
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.HTMLParser.makeelement
    functionSourceFile: etree
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: lxml.html.soupparser._init_node_converters.convert_comment
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - etree.CommentBase.__init__
    - parent.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.CommentBase.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: lxml.html.soupparser._init_node_converters.convert_pi
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - etree.ProcessingInstruction
    - bs_node.split
    - parent.append
    - bs_node.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_node.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_node.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ProcessingInstruction
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: lxml.html.soupparser._init_node_converters.convert_text
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - lxml.html.soupparser._init_node_converters.append_text
    - lxml.html.soupparser.unescape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - m
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 309
    functionName: lxml.html.soupparser.unescape.unescape_entity
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.group
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.html
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - mixers.items
    - <builtin>.type
    - mixers.setdefault
    - etree.CustomElementClassLookup.__init__
    - lxml.html._MethodFunc.__init__
    - lxml.html.XHTMLParser.__init__
    - <builtin>.getattr
    - lxml.html.__fix_docstring
    - re.compile
    - etree.XPath
    - <builtin>.super
    - lxml.html.HTMLParser.__init__
    - lxml.html.HtmlElementClassLookup.__init__
    - etree.XMLParser.set_element_class_lookup
    - classes.keys
    - etree.HTMLParser.set_element_class_lookup
    - <builtin>.tuple
    - classes.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: lxml.html.__fix_docstring
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.XPath
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - s
    - pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 83
    functionName: lxml.html._unquote_match
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - typ
    - result
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: lxml.html._transform_result
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - lxml.html.tostring
    - etree.tostring
    - <builtin>.issubclass
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f95089a11f0>
    - <ast.Constant object at 0x7f95089a11c0>
    - <ast.Constant object at 0x7f95089a1190>
    - <ast.Constant object at 0x7f95089a1160>
    - <ast.Constant object at 0x7f95089a1130>
    - <ast.Constant object at 0x7f95089a1100>
    argNames:
    - doc
    - pretty_print
    - include_meta_content_type
    - encoding
    - method
    - with_tail
    - doctype
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1782
    functionName: lxml.html.tostring
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - etree.tostring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - tag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: lxml.html._nons
    functionSourceFile: lxml.html
    functionUses: 31
    functionsReached:
    - <builtin>.isinstance
    - tag.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attributes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: lxml.html.Classes.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: lxml.html.Classes.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: lxml.html.Classes.discard
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: lxml.html.Classes.remove
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: lxml.html.Classes.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: lxml.html.Classes.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: lxml.html.Classes.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: lxml.html.Classes.update
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: lxml.html.Classes.toggle
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.remove
    - classes.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e8b5b0>
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: lxml.html.HtmlMixin.set
    functionSourceFile: lxml.html
    functionUses: 8
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - classes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 235
    functionName: lxml.html.HtmlMixin.classes
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.HtmlMixin.set
    - lxml.html.Classes.__init__
    - functools.partial
    - <builtin>.super
    - classes._get_class_value
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes._get_class_value
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: lxml.html.HtmlMixin.base_url
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 254
    functionName: lxml.html.HtmlMixin.forms
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 261
    functionName: lxml.html.HtmlMixin.body
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 271
    functionName: lxml.html.HtmlMixin.head
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: lxml.html.HtmlMixin.label
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html._nons
    - tag.split
    - <builtin>.isinstance
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: lxml.html.HtmlMixin.drop_tree
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - parent.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: lxml.html.HtmlMixin.drop_tag
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - parent.index
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.index
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 361
    functionName: lxml.html.HtmlMixin.find_rel_links
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - rel.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rel.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.get
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - class_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 369
    functionName: lxml.html.HtmlMixin.find_class
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 375
    functionName: lxml.html.HtmlMixin.get_element_by_id
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 396
    functionName: lxml.html.HtmlMixin.text_content
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f653d0>
    argNames:
    - self
    - expr
    - translator
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 402
    functionName: lxml.html.HtmlMixin.cssselect
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.cssselect.CSSSelector.__init__
    - cssselect.GenericTranslator.__init__
    - cssselect.GenericTranslator.css_to_xpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f65790>
    - <ast.Constant object at 0x7f9508f65ca0>
    - <ast.Constant object at 0x7f9508f65a30>
    argNames:
    - self
    - base_url
    - resolve_base_href
    - handle_failures
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 419
    functionName: lxml.html.HtmlMixin.make_links_absolute
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - urllib.parse.urljoin
    - b.get
    - el.get
    - urls.sort
    - lxml.html.HtmlMixin.make_links_absolute
    - tag.split
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - attribs.get
    - match.start
    - link.strip
    - valuetype.lower
    - <builtin>.isinstance
    - b.drop_tree
    - _archive_re.finditer
    - lxml.html.HtmlMixin.rewrite_links
    - match.group
    - lxml.html._nons
    - <builtin>.list
    - <builtin>.len
    - content.find
    - lxml.html._unquote_match
    - el.set
    - lxml.html.HtmlMixin.resolve_base_href
    - lxml.html.HtmlMixin.iterlinks
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9509567d30>
    argNames:
    - self
    - handle_failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 464
    functionName: lxml.html.HtmlMixin.resolve_base_href
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - urllib.parse.urljoin
    - b.get
    - el.get
    - urls.sort
    - lxml.html.HtmlMixin.make_links_absolute
    - tag.split
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - attribs.get
    - match.start
    - link.strip
    - valuetype.lower
    - <builtin>.isinstance
    - b.drop_tree
    - _archive_re.finditer
    - lxml.html.HtmlMixin.rewrite_links
    - match.group
    - lxml.html._nons
    - <builtin>.list
    - <builtin>.len
    - content.find
    - lxml.html._unquote_match
    - el.set
    - lxml.html.HtmlMixin.resolve_base_href
    - lxml.html.HtmlMixin.iterlinks
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - href
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 456
    functionName: lxml.html.HtmlMixin.make_links_absolute.link_repl
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - urllib.parse.urljoin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9509087100>
    - <ast.Constant object at 0x7f9509087640>
    argNames:
    - self
    - link_repl_func
    - resolve_base_href
    - base_href
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 575
    functionName: lxml.html.HtmlMixin.rewrite_links
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - urllib.parse.urljoin
    - el.get
    - b.get
    - urls.sort
    - lxml.html.HtmlMixin.make_links_absolute
    - tag.split
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - attribs.get
    - match.start
    - link.strip
    - <builtin>.isinstance
    - valuetype.lower
    - _archive_re.finditer
    - b.drop_tree
    - lxml.html.HtmlMixin.rewrite_links
    - match.group
    - lxml.html._nons
    - <builtin>.list
    - <builtin>.len
    - content.find
    - lxml.html._unquote_match
    - el.set
    - lxml.html.HtmlMixin.resolve_base_href
    - lxml.html.HtmlMixin.iterlinks
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b.drop_tree
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 10
    IfCount: 16
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 485
    functionName: lxml.html.HtmlMixin.iterlinks
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - urllib.parse.urljoin
    - match.group
    - content.find
    - lxml.html._unquote_match
    - valuetype.lower
    - el.get
    - urls.sort
    - attribs.get
    - match.start
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.list
    - <builtin>.isinstance
    - _archive_re.finditer
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _archive_re.finditer
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.start
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attribs.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.find
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: valuetype.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urls.sort
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: link.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.set
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f5ac10>
    - <ast.Name object at 0x7f9508f5a4f0>
    argNames:
    - self
    - name
    - copy
    - source_class
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: lxml.html._MethodFunc.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - doc
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 637
    functionName: lxml.html._MethodFunc.__call__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.iter
    - <builtin>.getattr
    - value.find
    - doc.findall
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.tostring
    - body.text.strip
    - <builtin>.issubclass
    - copy.deepcopy
    - other_head.drop_tree
    - body.extend
    - <builtin>.isinstance
    - value.insert
    - <builtin>.type
    - etree.tostring
    - lxml.html._contains_block_level_tag
    - kw.pop
    - lxml.html._nons
    - etree.fromstring
    - <builtin>.len
    - head.extend
    - other_body.drop_tree
    - lxml.html.Element
    - lxml.html._transform_result
    - value.append
    - lxml.html.fromstring
    - etree.HTMLParser.makeelement
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 5
    IfCount: 14
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e66670>
    - <ast.Constant object at 0x7f9508e66b20>
    argNames:
    - html
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 839
    functionName: lxml.html.fromstring
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached:
    - el.iter
    - value.find
    - doc.findall
    - tag.split
    - lxml.html.document_fromstring
    - body.text.strip
    - other_head.drop_tree
    - body.extend
    - value.insert
    - <builtin>.isinstance
    - lxml.html._contains_block_level_tag
    - lxml.html._nons
    - etree.fromstring
    - <builtin>.len
    - head.extend
    - other_body.drop_tree
    - lxml.html.Element
    - value.append
    - etree.HTMLParser.makeelement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f95097ad6d0>
    - <ast.Constant object at 0x7f95097ad790>
    argNames:
    - self
    - classes
    - mixins
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 696
    functionName: lxml.html.HtmlElementClassLookup.__init__
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - mixers.items
    - <builtin>.type
    - mixers.setdefault
    - etree.CustomElementClassLookup.__init__
    - classes.get
    - <builtin>.tuple
    - classes.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.CustomElementClassLookup.__init__
    functionSourceFile: etree
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.keys
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mixers.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mixers.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - node_type
    - document
    - namespace
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: lxml.html.HtmlElementClassLookup.lookup
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9509173850>
    - <ast.Constant object at 0x7f9509173070>
    argNames:
    - html
    - parser
    - ensure_head_body
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 737
    functionName: lxml.html.document_fromstring
    functionSourceFile: lxml.html
    functionUses: 15
    functionsReached:
    - lxml.html.Element
    - value.find
    - value.append
    - etree.HTMLParser.makeelement
    - etree.fromstring
    - value.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.find
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1917
    functionName: lxml.html.Element
    functionSourceFile: lxml.html
    functionUses: 17
    functionsReached:
    - etree.HTMLParser.makeelement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.insert
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f95098143a0>
    - <ast.Constant object at 0x7f95098145b0>
    - <ast.Constant object at 0x7f9509814130>
    argNames:
    - html
    - no_leading_text
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 751
    functionName: lxml.html.fragments_fromstring
    functionSourceFile: lxml.html
    functionUses: 9
    functionsReached:
    - lxml.html.Element
    - value.insert
    - elements.extend
    - body.text.strip
    - value.find
    - <builtin>.len
    - lxml.html._nons
    - value.append
    - etree.fromstring
    - elements.append
    - etree.HTMLParser.makeelement
    - <builtin>.isinstance
    - tag.split
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.text.strip
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elements.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elements.extend
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f95091762b0>
    - <ast.Constant object at 0x7f9509176a30>
    - <ast.Constant object at 0x7f9509176fd0>
    argNames:
    - html
    - create_parent
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 790
    functionName: lxml.html.fragment_fromstring
    functionSourceFile: lxml.html
    functionUses: 8
    functionsReached:
    - lxml.html.Element
    - value.insert
    - elements.extend
    - new_root.extend
    - lxml.html.fragments_fromstring
    - body.text.strip
    - <builtin>.bool
    - value.find
    - el.tail.strip
    - <builtin>.len
    - lxml.html._nons
    - value.append
    - etree.HTMLParser.makeelement
    - elements.append
    - etree.fromstring
    - <builtin>.isinstance
    - tag.split
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_root.extend
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.tail.strip
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.findall
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other_body.drop_tree
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: head.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other_head.drop_tree
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 921
    functionName: lxml.html._contains_block_level_tag
    functionSourceFile: lxml.html
    functionUses: 6
    functionsReached:
    - el.iter
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f999d0>
    - <ast.Constant object at 0x7f9508f99fa0>
    argNames:
    - filename_or_url
    - parser
    - base_url
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 907
    functionName: lxml.html.parse
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.iter
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 930
    functionName: lxml.html._element_name
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - lxml.html._nons
    - tag.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 949
    functionName: lxml.html.FormElement.inputs
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.InputGetter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - form
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1166
    functionName: lxml.html.InputGetter.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 967
    functionName: lxml.html.FormElement.fields
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - value.items
    - prev_keys.remove
    - lxml.html.FieldsDict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - inputs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1125
    functionName: lxml.html.FieldsDict.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev_keys.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 981
    functionName: lxml.html.FormElement._name
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - etree.ElementBase.get
    - forms.index
    - <builtin>.list
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ElementBase.get
    functionSourceFile: etree
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: forms.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 992
    functionName: lxml.html.FormElement.form_values
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - results.append
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1041
    functionName: lxml.html.FormElement.action
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - urllib.parse.urljoin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1055
    functionName: lxml.html.FormElement.method
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - value.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509054e80>
    - <ast.Constant object at 0x7f95090544f0>
    argNames:
    - form
    - extra_values
    - open_http
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1062
    functionName: lxml.html.submit_form
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - urllib.urlencode.encode
    - values.extend
    - urllib.urlopen
    - form.form_values
    - extra_values.items
    - lxml.html.open_http_urllib
    - urllib.urlencode
    - urllib.parse.urlencode
    - <builtin>.isinstance
    - urllib.request.urlopen
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.form_values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra_values.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - method
    - url
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1100
    functionName: lxml.html.open_http_urllib
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - urllib.urlencode.encode
    - <builtin>.isinstance
    - urllib.urlopen
    - urllib.parse.urlencode
    - urllib.urlencode
    - urllib.request.urlopen
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlencode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlencode.encode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlopen
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1127
    functionName: lxml.html.FieldsDict.__getitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - item
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1129
    functionName: lxml.html.FieldsDict.__setitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1131
    functionName: lxml.html.FieldsDict.__delitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1134
    functionName: lxml.html.FieldsDict.keys
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1136
    functionName: lxml.html.FieldsDict.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1138
    functionName: lxml.html.FieldsDict.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1140
    functionName: lxml.html.FieldsDict.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1143
    functionName: lxml.html.FieldsDict.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1169
    functionName: lxml.html.InputGetter.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.FormElement._name
    - forms.index
    - <builtin>.list
    - etree.ElementBase.get
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1177
    functionName: lxml.html.InputGetter.__getitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1195
    functionName: lxml.html.InputGetter.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.iter
    - lxml.html.InputGetter.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1231
    functionName: lxml.html.InputGetter.__iter__
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - etree.ElementBase.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1201
    functionName: lxml.html.InputGetter.keys
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - names.append
    - etree.ElementBase.iter
    - seen.add
    - lxml.html.InputGetter.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seen.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1216
    functionName: lxml.html.InputGetter.items
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.iter
    - seen.add
    - items.append
    - <builtin>.set
    - lxml.html.InputGetter.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ElementBase.iter
    functionSourceFile: etree
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1234
    functionName: lxml.html.InputGetter.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1254
    functionName: lxml.html.InputMixin.name
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1259
    functionName: lxml.html.InputMixin.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1296
    functionName: lxml.html.TextareaElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.tostring
    - etree.ElementBase.tag.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ElementBase.tag.startswith
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.tostring
    functionSourceFile: etree
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1368
    functionName: lxml.html.SelectElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - <builtin>.next
    - lxml.html.MultipleSelectOptions.__init__
    - checked_option.set
    - selected_option.get
    - <builtin>.isinstance
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - select
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1415
    functionName: lxml.html.MultipleSelectOptions.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selected_option.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checked_option.set
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1376
    functionName: lxml.html.SelectElement.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - options.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1397
    functionName: lxml.html.SelectElement.multiple
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1419
    functionName: lxml.html.MultipleSelectOptions.options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1425
    functionName: lxml.html.MultipleSelectOptions.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1433
    functionName: lxml.html.MultipleSelectOptions.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1445
    functionName: lxml.html.MultipleSelectOptions.remove
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1461
    functionName: lxml.html.MultipleSelectOptions.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1505
    functionName: lxml.html.RadioGroup.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - checked_option.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1509
    functionName: lxml.html.RadioGroup.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1515
    functionName: lxml.html.RadioGroup.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.__repr__
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1550
    functionName: lxml.html.CheckboxGroup.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.CheckboxValues.__init__
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1571
    functionName: lxml.html.CheckboxValues.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1554
    functionName: lxml.html.CheckboxGroup.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1560
    functionName: lxml.html.CheckboxGroup.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1574
    functionName: lxml.html.CheckboxValues.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1580
    functionName: lxml.html.CheckboxValues.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1588
    functionName: lxml.html.CheckboxValues.remove
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1601
    functionName: lxml.html.CheckboxValues.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1653
    functionName: lxml.html.InputElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1668
    functionName: lxml.html.InputElement.type
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1672
    functionName: lxml.html.InputElement.checkable
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1691
    functionName: lxml.html.InputElement.checked
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1732
    functionName: lxml.html.LabelElement.for_element
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementBase.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - other.get
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1745
    functionName: lxml.html.html_to_xhtml
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - html.getroot
    - html.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.iter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - xhtml
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1760
    functionName: lxml.html.xhtml_to_html
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - xhtml.iter
    - xhtml.getroot
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xhtml.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xhtml.iter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f95089ab5b0>
    argNames:
    - doc
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1859
    functionName: lxml.html.open_in_browser
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - os.fdopen
    - tempfile.mkstemp
    - fn.replace
    - <builtin>.print
    - f.close
    - webbrowser.open
    - etree.ElementTree
    - doc.write
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.mkstemp
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fdopen
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fn.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webbrowser.open
    functionSourceFile: webbrowser
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1890
    functionName: lxml.html.HTMLParser.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - mixers.items
    - <builtin>.type
    - mixers.setdefault
    - etree.CustomElementClassLookup.__init__
    - classes.get
    - <builtin>.super
    - lxml.html.HtmlElementClassLookup.__init__
    - etree.HTMLParser.set_element_class_lookup
    - <builtin>.tuple
    - classes.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.HTMLParser.set_element_class_lookup
    functionSourceFile: etree
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1912
    functionName: lxml.html.XHTMLParser.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - mixers.items
    - <builtin>.type
    - mixers.setdefault
    - etree.CustomElementClassLookup.__init__
    - classes.get
    - <builtin>.super
    - lxml.html.HtmlElementClassLookup.__init__
    - etree.XMLParser.set_element_class_lookup
    - <builtin>.tuple
    - classes.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.XMLParser.set_element_class_lookup
    functionSourceFile: etree
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.defs
    functionSourceFile: lxml.html.defs
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._setmixin
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: lxml.html._setmixin.SetMixin.__len__
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - lxml.html._setmixin.SetMixin.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._setmixin.SetMixin.__iter__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: lxml.html._setmixin.SetMixin.__contains__
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - lxml.html._setmixin.SetMixin.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: lxml.html._setmixin.SetMixin.copy
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: lxml.html._setmixin.SetMixin.update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: lxml.html._setmixin.SetMixin.intersection_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: lxml.html._setmixin.SetMixin.difference_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: lxml.html._setmixin.SetMixin.symmetric_difference_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 48
    functionName: lxml.html._setmixin.SetMixin.discard
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - el.get
    - lxml.html.CheckboxValues.remove
    - lxml.html.MultipleSelectOptions.remove
    - collections.abc.MutableSet.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.abc.MutableSet.remove
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - it
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html._setmixin.SetMixin._from_iterable
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.html5parser
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - lxml.html.html5parser.XHTMLParser.__init__
    - html5lib.HTMLParser.__init__
    - lxml.html.html5parser.HTMLParser.__init__
    - html5lib.XHTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e84610>
    argNames:
    - self
    - strict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: lxml.html.html5parser.HTMLParser.__init__
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.HTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.__init__
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509b715e0>
    argNames:
    - self
    - strict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: lxml.html.html5parser.XHTMLParser.__init__
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.XHTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.XHTMLParser.__init__
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - tree
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: lxml.html.html5parser._find_tag
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - tree.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tree.find
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f99f70>
    - <ast.Constant object at 0x7f9508f996a0>
    argNames:
    - html
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html.html5parser.document_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - html5lib.HTMLParser.parse
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.parse
    functionSourceFile: html5lib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e66430>
    - <ast.Constant object at 0x7f9508e66dc0>
    - <ast.Constant object at 0x7f9508e66ca0>
    argNames:
    - html
    - no_leading_text
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: lxml.html.html5parser.fragments_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - html5lib.HTMLParser.parseFragment
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.parseFragment
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f61220>
    - <ast.Constant object at 0x7f9508f615b0>
    - <ast.Constant object at 0x7f9508f617c0>
    argNames:
    - html
    - create_parent
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: lxml.html.html5parser.fragment_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - lxml.html.Element
    - new_root.extend
    - <builtin>.bool
    - <builtin>.len
    - etree.HTMLParser.makeelement
    - <builtin>.isinstance
    - html5lib.HTMLParser.parseFragment
    - result.tail.strip
    - lxml.html.html5parser.fragments_fromstring
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.tail.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509686940>
    - <ast.Constant object at 0x7f95096862b0>
    argNames:
    - html
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: lxml.html.html5parser.fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - lxml.html._contains_block_level_tag
    - lxml.html.html5parser.document_fromstring
    - body.text.strip
    - start.decode
    - lxml.html.html5parser._find_tag
    - el.iter
    - <builtin>.len
    - lxml.html._nons
    - start.lstrip
    - start.startswith
    - <builtin>.isinstance
    - html5lib.HTMLParser.parse
    - tree.find
    - tag.split
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509173580>
    - <ast.Constant object at 0x7f9509173d90>
    argNames:
    - filename_url_or_file
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: lxml.html.html5parser.parse
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - urlparse.urlparse
    - lxml.html.html5parser._looks_like_url
    - <builtin>.open
    - <builtin>.isinstance
    - <builtin>.len
    - urllib2.urlopen
    - html5lib.HTMLParser.parse
    - urllib.request.urlopen
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: lxml.html.html5parser._looks_like_url
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - urlparse.urlparse
    - urllib.parse.urlparse
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.urlparse
    functionSourceFile: urlparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html._diffcommand
    functionSourceFile: lxml.html._diffcommand
    functionUses: 0
    functionsReached:
    - parser.add_option
    - optparse.OptionParser
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: optparse.OptionParser
    functionSourceFile: optparse
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.add_option
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f5a250>
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 30
    functionName: lxml.html._diffcommand.main
    functionSourceFile: lxml.html._diffcommand
    functionUses: 1
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.flatten_el
    - <builtin>.open
    - lxml.html.diff.expand_tokens
    - html.escape
    - result.extend
    - etree.iselement
    - parser.parse_args
    - lxml.html._diffcommand.split_body
    - os.path.exists
    - sys.exit
    - lxml.html.diff.is_word
    - body_end_re.search
    - lxml.html.diff.htmldiff
    - chunks.index
    - html.strip
    - difflib.SequenceMatcher.get_opcodes
    - lxml.html.fragments_fromstring
    - lxml.html.diff.merge_insert
    - child_tag.append
    - lxml.html._diffcommand.read_file
    - el.drop_tag
    - elements.append
    - tag_stack.pop
    - lxml.html.diff.fixup_ins_del_tags
    - el.insert
    - el.get
    - value.find
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - f.read
    - <builtin>.print
    - parents.extend
    - <builtin>.bool
    - text.strip
    - result.append
    - <builtin>.reversed
    - f.write
    - lxml.html.diff.mark_unbalanced
    - lxml.html.diff.split_trailing_whitespace
    - result.endswith
    - <builtin>.list
    - lxml.html.diff.is_end_tag
    - <builtin>.len
    - lxml.html.diff.htmldiff_tokens
    - el.replace
    - lxml.html.diff._move_el_inside_block
    - value.append
    - lxml.html._diffcommand.annotate
    - etree.HTMLParser.makeelement
    - lxml.html.diff.serialize_html_fragment
    - doc.iter
    - tag_stack.append
    - doc.extend
    - el.attrib.items
    - el.iter
    - parents.append
    - lxml.html.diff.fixup_chunks
    - ch.isspace
    - html.find
    - value.insert
    - lxml.html.diff.start_tag
    - etree.tostring
    - lxml.html.diff.cleanup_delete
    - lxml.html._nons
    - lxml.html.diff.split_words
    - sys.stdin.read
    - <builtin>.enumerate
    - lxml.html.diff.merge_delete
    - parser.print_help
    - lxml.html.fragment_fromstring
    - lxml.html.diff.cleanup_html
    - elements.extend
    - sys.stdout.write
    - <builtin>.range
    - chunk.split
    - child.addnext
    - tag.split
    - doc.append
    - lxml.html.diff._contains_block_level_tag
    - new_root.extend
    - body.text.strip
    - match.start
    - body_start_re.search
    - <builtin>.isinstance
    - token.html
    - difflib.SequenceMatcher.__init__
    - tok.startswith
    - word.rstrip
    - html.rfind
    - el.tail.strip
    - lxml.html.diff.tokenize
    - etree.fromstring
    - match.end
    - lxml.html.diff.end_tag
    - lxml.html.diff.is_start_tag
    - chunk.startswith
    - lxml.html.Element
    - lxml.html.diff._fixup_ins_del_tags
    - marked.append
    - lxml.html.diff.tag_name_of_chunk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - options
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: lxml.html._diffcommand.annotate
    functionSourceFile: lxml.html._diffcommand
    functionUses: 2
    functionsReached:
    - <builtin>.print
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.print_help
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html._diffcommand.read_file
    functionSourceFile: lxml.html._diffcommand
    functionUses: 2
    functionsReached:
    - os.path.exists
    - f.read
    - <builtin>.open
    - sys.stdin.read
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: lxml.html._diffcommand.split_body
    functionSourceFile: lxml.html._diffcommand
    functionUses: 2
    functionsReached:
    - body_start_re.search
    - body_end_re.search
    - match.end
    - match.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - old_html
    - new_html
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 190
    functionName: lxml.html.diff.htmldiff
    functionSourceFile: lxml.html.diff
    functionUses: 2
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.flatten_el
    - lxml.html.diff.expand_tokens
    - html.escape
    - result.extend
    - etree.iselement
    - lxml.html.diff.is_word
    - chunks.index
    - html.strip
    - difflib.SequenceMatcher.get_opcodes
    - lxml.html.fragments_fromstring
    - lxml.html.diff.merge_insert
    - child_tag.append
    - el.drop_tag
    - elements.append
    - tag_stack.pop
    - lxml.html.diff.fixup_ins_del_tags
    - el.insert
    - el.get
    - value.find
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - <builtin>.print
    - parents.extend
    - <builtin>.bool
    - text.strip
    - result.append
    - <builtin>.reversed
    - lxml.html.diff.mark_unbalanced
    - lxml.html.diff.split_trailing_whitespace
    - <builtin>.list
    - lxml.html.diff.is_end_tag
    - <builtin>.len
    - lxml.html.diff.htmldiff_tokens
    - el.replace
    - lxml.html.diff._move_el_inside_block
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.serialize_html_fragment
    - doc.iter
    - tag_stack.append
    - doc.extend
    - el.attrib.items
    - el.iter
    - parents.append
    - lxml.html.diff.fixup_chunks
    - ch.isspace
    - html.find
    - value.insert
    - lxml.html.diff.start_tag
    - etree.tostring
    - lxml.html.diff.cleanup_delete
    - lxml.html._nons
    - lxml.html.diff.split_words
    - <builtin>.enumerate
    - lxml.html.diff.merge_delete
    - lxml.html.fragment_fromstring
    - lxml.html.diff.cleanup_html
    - elements.extend
    - <builtin>.range
    - chunk.split
    - child.addnext
    - tag.split
    - doc.append
    - new_root.extend
    - body.text.strip
    - lxml.html.diff._contains_block_level_tag
    - match.start
    - <builtin>.isinstance
    - token.html
    - difflib.SequenceMatcher.__init__
    - tok.startswith
    - word.rstrip
    - html.rfind
    - el.tail.strip
    - lxml.html.diff.tokenize
    - etree.fromstring
    - match.end
    - lxml.html.diff.end_tag
    - lxml.html.diff.is_start_tag
    - lxml.html.Element
    - chunk.startswith
    - lxml.html.diff._fixup_ins_del_tags
    - marked.append
    - lxml.html.diff.tag_name_of_chunk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.read
    functionSourceFile: sys
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_start_re.search
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_end_re.search
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: -1
    functionName: lxml.html.diff
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.flatten_el
    - <builtin>.open
    - lxml.html.diff.expand_tokens
    - html.escape
    - result.extend
    - etree.iselement
    - parser.parse_args
    - lxml.html._diffcommand.split_body
    - os.path.exists
    - sys.exit
    - lxml.html.diff.is_word
    - <builtin>.frozenset
    - body_end_re.search
    - lxml.html.diff.htmldiff
    - chunks.index
    - html.strip
    - lxml.html.diff.fake_cython.cfunc
    - difflib.SequenceMatcher.get_opcodes
    - lxml.html.fragments_fromstring
    - lxml.html.diff.merge_insert
    - child_tag.append
    - lxml.html._diffcommand.read_file
    - <builtin>.tuple
    - el.drop_tag
    - elements.append
    - tag_stack.pop
    - lxml.html.diff.fixup_ins_del_tags
    - el.insert
    - el.get
    - value.find
    - inspect.isfunction
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - f.read
    - <builtin>.print
    - parents.extend
    - <builtin>.bool
    - text.strip
    - result.append
    - <builtin>.reversed
    - f.write
    - lxml.html.diff.mark_unbalanced
    - lxml.html.diff.split_trailing_whitespace
    - result.endswith
    - <builtin>.list
    - lxml.html.diff.is_end_tag
    - <builtin>.len
    - lxml.html.diff.htmldiff_tokens
    - lxml.html.diff.fake_cython.declare
    - el.replace
    - lxml.html.diff._move_el_inside_block
    - functools.partial
    - value.append
    - lxml.html._diffcommand.annotate
    - etree.HTMLParser.makeelement
    - lxml.html.diff.serialize_html_fragment
    - doc.iter
    - tag_stack.append
    - cython.cfunc
    - doc.extend
    - el.attrib.items
    - el.iter
    - re.compile
    - parents.append
    - lxml.html.diff.fixup_chunks
    - ch.isspace
    - cython.declare
    - html.find
    - value.insert
    - lxml.html.diff.start_tag
    - etree.tostring
    - lxml.html.diff.cleanup_delete
    - lxml.html._nons
    - lxml.html.diff.split_words
    - sys.stdin.read
    - <builtin>.enumerate
    - lxml.html.diff.merge_delete
    - parser.print_help
    - lxml.html.fragment_fromstring
    - lxml.html.diff.cleanup_html
    - <builtin>.sorted
    - elements.extend
    - sys.stdout.write
    - <builtin>.range
    - chunk.split
    - child.addnext
    - tag.split
    - doc.append
    - new_root.extend
    - body.text.strip
    - lxml.html.diff._contains_block_level_tag
    - operator.itemgetter
    - match.start
    - <builtin>.isinstance
    - body_start_re.search
    - token.html
    - difflib.SequenceMatcher.__init__
    - tok.startswith
    - word.rstrip
    - html.rfind
    - el.tail.strip
    - lxml.html.diff.tokenize
    - etree.fromstring
    - match.end
    - lxml.html.diff.end_tag
    - lxml.html.diff.is_start_tag
    - chunk.startswith
    - lxml.html.Element
    - lxml.html.diff._fixup_ins_del_tags
    - lxml.html._diffcommand.main
    - marked.append
    - lxml.html.diff.tag_name_of_chunk
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 8
    functionName: lxml.html.diff.fake_cython.cfunc
    functionSourceFile: lxml.html.diff
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: lxml.html.diff.fake_cython.cclass
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - _
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 10
    functionName: lxml.html.diff.fake_cython.declare
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - type_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: lxml.html.diff.fake_cython.__getattr__
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isfunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.itemgetter
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cython.cfunc
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7f9508cd5100>
    argNames:
    - text
    - _escapes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: lxml.html.diff.html_escape
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - text.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.replace
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: lxml.html.diff.default_markup
    functionSourceFile: lxml.html.diff
    functionUses: 2
    functionsReached:
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f95091a3910>
    argNames:
    - doclist
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 73
    functionName: lxml.html.diff.html_annotate
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.tokenize_annotated
    - lxml.html.diff.flatten_el
    - el.attrib.items
    - html.escape
    - elements.extend
    - el.get
    - value.find
    - lxml.html.diff.compress_merge_back
    - etree.iselement
    - tokens.append
    - lxml.html.diff.default_markup
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - lxml.html.diff.is_word
    - lxml.html.diff.fixup_chunks
    - lxml.html.diff.compress_tokens
    - new_root.extend
    - body.text.strip
    - <builtin>.bool
    - match.start
    - text.strip
    - <builtin>.isinstance
    - value.insert
    - result.append
    - token.html
    - difflib.SequenceMatcher.__init__
    - <builtin>.type
    - lxml.html.diff.start_tag
    - difflib.SequenceMatcher.get_opcodes
    - tok.startswith
    - <builtin>.zip
    - word.rstrip
    - lxml.html.fragments_fromstring
    - lxml.html.diff.markup_serialize_tokens
    - lxml.html.diff.html_annotate_merge_annotations
    - el.tail.strip
    - lxml.html.diff.tokenize
    - lxml.html.diff.split_trailing_whitespace
    - lxml.html._nons
    - etree.fromstring
    - lxml.html.diff.is_end_tag
    - lxml.html.diff.split_words
    - lxml.html.diff.end_tag
    - <builtin>.len
    - match.end
    - lxml.html.diff.is_start_tag
    - lxml.html.Element
    - lxml.html.fragment_fromstring
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.cleanup_html
    - cython.cimports.lxml.html._difflib.SequenceMatcher.__init__
    - elements.append
    - lxml.html.diff.copy_annotations
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - doc
    - annotation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 113
    functionName: lxml.html.diff.tokenize_annotated
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.flatten_el
    - el.attrib.items
    - html.escape
    - elements.extend
    - el.get
    - value.find
    - etree.iselement
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - lxml.html.diff.is_word
    - lxml.html.diff.fixup_chunks
    - new_root.extend
    - body.text.strip
    - <builtin>.bool
    - match.start
    - text.strip
    - <builtin>.isinstance
    - value.insert
    - lxml.html.diff.start_tag
    - result.append
    - tok.startswith
    - word.rstrip
    - lxml.html.fragments_fromstring
    - el.tail.strip
    - lxml.html.diff.tokenize
    - lxml.html.diff.split_trailing_whitespace
    - lxml.html._nons
    - etree.fromstring
    - lxml.html.diff.is_end_tag
    - lxml.html.diff.split_words
    - lxml.html.diff.end_tag
    - <builtin>.len
    - match.end
    - lxml.html.Element
    - lxml.html.diff.is_start_tag
    - lxml.html.fragment_fromstring
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.cleanup_html
    - elements.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - tokens_old
    - tokens_new
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: lxml.html.diff.html_annotate_merge_annotations
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - difflib.SequenceMatcher.get_opcodes
    - <builtin>.zip
    - cython.cimports.lxml.html._difflib.SequenceMatcher.__init__
    - <builtin>.len
    - lxml.html.diff.copy_annotations
    - difflib.SequenceMatcher.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokens
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 142
    functionName: lxml.html.diff.compress_tokens
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - lxml.html.diff.compress_merge_back
    - <builtin>.type
    - tokens.append
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - tokens
    - markup_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 173
    functionName: lxml.html.diff.markup_serialize_tokens
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - lxml.html.diff.default_markup
    - token.html
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f654c0>
    argNames:
    - html
    - include_hrefs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 608
    functionName: lxml.html.diff.tokenize
    functionSourceFile: lxml.html.diff
    functionUses: 5
    functionsReached:
    - tag_accum.append
    - cur_word.post_tags.append
    - lxml.html.diff.flatten_el
    - el.attrib.items
    - html.escape
    - elements.extend
    - el.get
    - value.find
    - etree.iselement
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - lxml.html.diff.is_word
    - lxml.html.diff.fixup_chunks
    - new_root.extend
    - body.text.strip
    - <builtin>.bool
    - match.start
    - text.strip
    - <builtin>.isinstance
    - value.insert
    - lxml.html.diff.start_tag
    - result.append
    - tok.startswith
    - word.rstrip
    - lxml.html.fragments_fromstring
    - el.tail.strip
    - lxml.html.diff.split_trailing_whitespace
    - lxml.html._nons
    - etree.fromstring
    - lxml.html.diff.is_end_tag
    - lxml.html.diff.split_words
    - lxml.html.diff.end_tag
    - <builtin>.len
    - match.end
    - lxml.html.Element
    - lxml.html.diff.is_start_tag
    - lxml.html.fragment_fromstring
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.cleanup_html
    - elements.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cython.cimports.lxml.html._difflib.SequenceMatcher.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: difflib.SequenceMatcher.__init__
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: difflib.SequenceMatcher.get_opcodes
    functionSourceFile: difflib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: lxml.html.diff.copy_annotations
    functionSourceFile: lxml.html.diff
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - tokens
    - tok
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: lxml.html.diff.compress_merge_back
    functionSourceFile: lxml.html.diff
    functionUses: 2
    functionsReached:
    - <builtin>.type
    - tokens.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tokens.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.html
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - html1_tokens
    - html2_tokens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 218
    functionName: lxml.html.diff.htmldiff_tokens
    functionSourceFile: lxml.html.diff
    functionUses: 3
    functionsReached:
    - lxml.html.diff.expand_tokens
    - result.extend
    - <builtin>.range
    - chunk.split
    - parents.append
    - doc.append
    - parents.extend
    - ch.isspace
    - chunks.index
    - token.html
    - <builtin>.reversed
    - difflib.SequenceMatcher.__init__
    - difflib.SequenceMatcher.get_opcodes
    - lxml.html.diff.mark_unbalanced
    - lxml.html.diff.merge_insert
    - lxml.html.diff.cleanup_delete
    - <builtin>.enumerate
    - <builtin>.len
    - chunk.startswith
    - lxml.html.diff.merge_delete
    - marked.append
    - tag_stack.pop
    - tag_stack.append
    - lxml.html.diff.tag_name_of_chunk
    - doc.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 840
    functionName: lxml.html.diff.fixup_ins_del_tags
    functionSourceFile: lxml.html.diff
    functionUses: 3
    functionsReached:
    - elements.extend
    - el.insert
    - el.iter
    - value.find
    - child.addnext
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.diff.parse_html
    - lxml.html.diff._contains_block_level_tag
    - new_root.extend
    - body.text.strip
    - <builtin>.bool
    - html.find
    - match.start
    - html.strip
    - <builtin>.isinstance
    - value.insert
    - etree.tostring
    - lxml.html.fragments_fromstring
    - html.rfind
    - el.tail.strip
    - lxml.html._nons
    - <builtin>.list
    - etree.fromstring
    - match.end
    - child_tag.append
    - <builtin>.len
    - el.drop_tag
    - el.replace
    - lxml.html.diff._move_el_inside_block
    - lxml.html.Element
    - lxml.html.diff._fixup_ins_del_tags
    - lxml.html.fragment_fromstring
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.cleanup_html
    - lxml.html.diff.serialize_html_fragment
    - doc.iter
    - elements.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9509556610>
    argNames:
    - tokens
    - equal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: lxml.html.diff.expand_tokens
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - token.html
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - ins_chunks
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 269
    functionName: lxml.html.diff.merge_insert
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - doc.append
    - chunk.startswith
    - tag_stack.pop
    - parents.extend
    - lxml.html.diff.mark_unbalanced
    - ch.isspace
    - marked.append
    - chunk.split
    - tag_stack.append
    - lxml.html.diff.tag_name_of_chunk
    - parents.append
    - <builtin>.enumerate
    - doc.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - del_chunks
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 333
    functionName: lxml.html.diff.merge_delete
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - doc.append
    - doc.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - chunks
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 343
    functionName: lxml.html.diff.cleanup_delete
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - chunk.startswith
    - parents.extend
    - lxml.html.diff.mark_unbalanced
    - ch.isspace
    - <builtin>.len
    - chunks.index
    - marked.append
    - chunk.split
    - tag_stack.pop
    - <builtin>.range
    - tag_stack.append
    - lxml.html.diff.tag_name_of_chunk
    - parents.append
    - <builtin>.enumerate
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - chunks
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 483
    functionName: lxml.html.diff.mark_unbalanced
    functionSourceFile: lxml.html.diff
    functionUses: 6
    functionsReached:
    - chunk.startswith
    - parents.extend
    - ch.isspace
    - marked.append
    - tag_stack.pop
    - chunk.split
    - tag_stack.append
    - lxml.html.diff.tag_name_of_chunk
    - parents.append
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.extend
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - chunk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: lxml.html.diff.tag_name_of_chunk
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - chunk.split
    - ch.isspace
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ch.isspace
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunk.split
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunks.index
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunk.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: marked.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag_stack.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parents.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parents.extend
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag_stack.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f95090f4910>
    - <ast.Constant object at 0x7f95090f46a0>
    - <ast.Constant object at 0x7f95090f49d0>
    argNames:
    - cls
    - text
    - pre_tags
    - post_tags
    - trailing_whitespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 553
    functionName: lxml.html.diff.token.__new__
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - str.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: str.__new__
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 562
    functionName: lxml.html.diff.token.__repr__
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - str.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: str.__repr__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 566
    functionName: lxml.html.diff.token.html
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e60c10>
    - <ast.Constant object at 0x7f9508e60be0>
    - <ast.Constant object at 0x7f9508e60490>
    argNames:
    - cls
    - tag
    - data
    - html_repr
    - pre_tags
    - post_tags
    - trailing_whitespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 575
    functionName: lxml.html.diff.tag_token.__new__
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - lxml.html.diff.token.__new__
    - lxml.html.diff.tag_token.__new__
    - str.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 586
    functionName: lxml.html.diff.tag_token.__repr__
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 594
    functionName: lxml.html.diff.tag_token.html
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 604
    functionName: lxml.html.diff.href_token.html
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.iselement
    functionSourceFile: etree
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508ff91f0>
    argNames:
    - html
    - cleanup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 633
    functionName: lxml.html.diff.parse_html
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - elements.extend
    - value.find
    - tag.split
    - lxml.html.document_fromstring
    - new_root.extend
    - body.text.strip
    - <builtin>.bool
    - match.start
    - value.insert
    - <builtin>.isinstance
    - lxml.html.fragments_fromstring
    - el.tail.strip
    - lxml.html._nons
    - etree.fromstring
    - match.end
    - <builtin>.len
    - lxml.html.Element
    - lxml.html.fragment_fromstring
    - value.append
    - etree.HTMLParser.makeelement
    - lxml.html.diff.cleanup_html
    - elements.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f4ac40>
    argNames:
    - el
    - include_hrefs
    - skip_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 774
    functionName: lxml.html.diff.flatten_el
    functionSourceFile: lxml.html.diff
    functionUses: 6
    functionsReached:
    - lxml.html.diff.end_tag
    - lxml.html.diff.flatten_el
    - el.attrib.items
    - html.escape
    - el.get
    - lxml.html.diff.split_words
    - text.strip
    - <builtin>.len
    - lxml.html.diff.start_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - chunks
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 673
    functionName: lxml.html.diff.fixup_chunks
    functionSourceFile: lxml.html.diff
    functionUses: 6
    functionsReached:
    - lxml.html.diff.is_start_tag
    - tag_accum.append
    - tok.startswith
    - cur_word.post_tags.append
    - lxml.html.diff.is_word
    - word.rstrip
    - lxml.html.diff.split_trailing_whitespace
    - <builtin>.len
    - lxml.html.diff.is_end_tag
    - <builtin>.isinstance
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 651
    functionName: lxml.html.diff.cleanup_html
    functionSourceFile: lxml.html.diff
    functionUses: 8
    functionsReached:
    - match.end
    - match.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - word
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 665
    functionName: lxml.html.diff.split_trailing_whitespace
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - word.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: word.rstrip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tok
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 831
    functionName: lxml.html.diff.is_word
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - tok.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tok
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 837
    functionName: lxml.html.diff.is_start_tag
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - tok.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag_accum.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tok
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 834
    functionName: lxml.html.diff.is_end_tag
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - tok.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cur_word.post_tags.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cython.declare
    functionSourceFile: cython
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 814
    functionName: lxml.html.diff.start_tag
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - el.attrib.items
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 803
    functionName: lxml.html.diff.split_words
    functionSourceFile: lxml.html.diff
    functionUses: 7
    functionsReached:
    - text.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 824
    functionName: lxml.html.diff.end_tag
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tok.startswith
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - doc
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 869
    functionName: lxml.html.diff._fixup_ins_del_tags
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - lxml.html.diff._move_el_inside_block
    - lxml.html.diff._contains_block_level_tag
    - el.insert
    - el.iter
    - <builtin>.list
    - child_tag.append
    - el.drop_tag
    - child.addnext
    - doc.iter
    - el.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e845b0>
    argNames:
    - el
    - skip_outer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 849
    functionName: lxml.html.diff.serialize_html_fragment
    functionSourceFile: lxml.html.diff
    functionUses: 4
    functionsReached:
    - etree.tostring
    - html.rfind
    - html.find
    - html.strip
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.find
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.rfind
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.strip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.iter
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 881
    functionName: lxml.html.diff._contains_block_level_tag
    functionSourceFile: lxml.html.diff
    functionUses: 6
    functionsReached:
    - el.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 890
    functionName: lxml.html.diff._move_el_inside_block
    functionSourceFile: lxml.html.diff
    functionUses: 5
    functionsReached:
    - lxml.html.diff._move_el_inside_block
    - lxml.html.diff._contains_block_level_tag
    - el.insert
    - el.iter
    - <builtin>.list
    - child_tag.append
    - child.addnext
    - el.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.drop_tag
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.addnext
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.replace
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child_tag.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.insert
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 925
    functionName: lxml.html.diff._merge_element_contents
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - el.getparent
    - parent.index
    - el.getprevious
    - el.getchildren
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.getparent
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.getprevious
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.getchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.diff.InsensitiveSequenceMatcher
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - lxml.html.diff.fake_cython.cfunc
    - cython.cfunc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 960
    functionName: lxml.html.diff.InsensitiveSequenceMatcher.get_matching_blocks
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - cython.cimports.lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - difflib.SequenceMatcher.get_matching_blocks
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cython.cimports.lxml.html._difflib.SequenceMatcher.get_matching_blocks
    functionSourceFile: cython
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: difflib.SequenceMatcher.get_matching_blocks
    functionSourceFile: difflib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html._difflib
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: lxml.html._difflib.fake_cython.cfunc
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - _
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: lxml.html._difflib.fake_cython.declare
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - type_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: lxml.html._difflib.fake_cython.__getattr__
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple
    functionSourceFile: collections
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - matches
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: lxml.html._difflib._calculate_ratio
    functionSourceFile: lxml.html._difflib
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508ebe610>
    - <ast.Constant object at 0x7f9508ebeca0>
    - <ast.Constant object at 0x7f9508ebe520>
    - <ast.Constant object at 0x7f9508ebe640>
    argNames:
    - self
    - isjunk
    - a
    - b
    - autojunk
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 139
    functionName: lxml.html._difflib.SequenceMatcher.__init__
    functionSourceFile: lxml.html._difflib
    functionUses: 9
    functionsReached:
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - popular.add
    - b2j.setdefault
    - indices.append
    - b2j.keys
    - junk.add
    - <builtin>.set
    - <builtin>.len
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: lxml.html._difflib.SequenceMatcher.set_seqs
    functionSourceFile: lxml.html._difflib
    functionUses: 10
    functionsReached:
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - popular.add
    - b2j.setdefault
    - indices.append
    - b2j.keys
    - junk.add
    - <builtin>.set
    - <builtin>.len
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - a
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 215
    functionName: lxml.html._difflib.SequenceMatcher.set_seq1
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 241
    functionName: lxml.html._difflib.SequenceMatcher.set_seq2
    functionSourceFile: lxml.html._difflib
    functionUses: 11
    functionsReached:
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - popular.add
    - b2j.setdefault
    - indices.append
    - b2j.keys
    - junk.add
    - <builtin>.set
    - <builtin>.len
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: lxml.html._difflib.SequenceMatcher.__chain_b
    functionSourceFile: lxml.html._difflib
    functionUses: 12
    functionsReached:
    - b2j.items
    - popular.add
    - b2j.setdefault
    - indices.append
    - b2j.keys
    - junk.add
    - <builtin>.set
    - <builtin>.len
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b2j.setdefault
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: indices.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b2j.keys
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508df7760>
    argNames:
    - ch
    - ws
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1082
    functionName: lxml.html._difflib.IS_CHARACTER_JUNK
    functionSourceFile: ''
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: junk.add
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b2j.items
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: popular.add
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e82700>
    - <ast.Constant object at 0x7f9508e824c0>
    - <ast.Constant object at 0x7f9508e82730>
    - <ast.Constant object at 0x7f9508e82520>
    argNames:
    - self
    - alo
    - ahi_
    - blo
    - bhi_
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: lxml.html._difflib.SequenceMatcher.find_longest_match
    functionSourceFile: lxml.html._difflib
    functionUses: 13
    functionsReached:
    - collections.namedtuple
    - <builtin>.len
    - <builtin>.range
    - j2len.get
    - b2j.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b2j.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: j2len.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 8
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 438
    functionName: lxml.html._difflib.SequenceMatcher.get_matching_blocks
    functionSourceFile: lxml.html._difflib
    functionUses: 12
    functionsReached:
    - collections.namedtuple
    - matching_blocks.sort
    - matching_blocks.append
    - queue.append
    - non_adjacent.append
    - <builtin>.list
    - queue.pop
    - <builtin>.range
    - <builtin>.len
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    - <builtin>.map
    - b2j.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.pop
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matching_blocks.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matching_blocks.sort
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: non_adjacent.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 509
    functionName: lxml.html._difflib.SequenceMatcher.get_opcodes
    functionSourceFile: lxml.html._difflib
    functionUses: 9
    functionsReached:
    - collections.namedtuple
    - matching_blocks.sort
    - matching_blocks.append
    - j2len.get
    - queue.append
    - non_adjacent.append
    - <builtin>.map
    - queue.pop
    - <builtin>.list
    - <builtin>.range
    - <builtin>.len
    - answer.append
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - b2j.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: answer.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9509054310>
    argNames:
    - self
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 564
    functionName: lxml.html._difflib.SequenceMatcher.get_grouped_opcodes
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - group.append
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - collections.namedtuple
    - non_adjacent.append
    - <builtin>.map
    - matching_blocks.sort
    - queue.append
    - <builtin>.list
    - <builtin>.len
    - matching_blocks.append
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: group.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 614
    functionName: lxml.html._difflib.SequenceMatcher.ratio
    functionSourceFile: lxml.html._difflib
    functionUses: 7
    functionsReached:
    - lxml.html._difflib._calculate_ratio
    - matching_blocks.append
    - matching_blocks.sort
    - collections.namedtuple
    - <builtin>.sum
    - queue.append
    - non_adjacent.append
    - <builtin>.map
    - queue.pop
    - <builtin>.list
    - <builtin>.range
    - <builtin>.len
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - b2j.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 640
    functionName: lxml.html._difflib.SequenceMatcher.quick_ratio
    functionSourceFile: lxml.html._difflib
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - fullbcount.get
    - lxml.html._difflib._calculate_ratio
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fullbcount.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 670
    functionName: lxml.html._difflib.SequenceMatcher.real_quick_ratio
    functionSourceFile: lxml.html._difflib
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - lxml.html._difflib._calculate_ratio
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.classmethod
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html._difflib.SequenceMatcher
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - <builtin>.classmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f35dc0>
    - <ast.Constant object at 0x7f9508f35b20>
    argNames:
    - word
    - possibilities
    - n
    - cutoff
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 686
    functionName: lxml.html._difflib.get_close_matches
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - <builtin>.min
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - non_adjacent.append
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - heapq.nlargest
    - <builtin>.map
    - matching_blocks.sort
    - <builtin>.sum
    - queue.append
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - popular.add
    - <builtin>.list
    - fullbcount.get
    - indices.append
    - junk.add
    - <builtin>.len
    - <builtin>.enumerate
    - matching_blocks.append
    - heapq.nlargest.append
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: heapq.nlargest.append
    functionSourceFile: heapq
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: heapq.nlargest
    functionSourceFile: heapq
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - s
    - tag_s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 735
    functionName: lxml.html._difflib._keep_original_ws
    functionSourceFile: lxml.html._difflib
    functionUses: 7
    functionsReached:
    - c.isspace
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.isspace
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e66cd0>
    - <ast.Constant object at 0x7f9508e66e20>
    argNames:
    - self
    - linejunk
    - charjunk
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 830
    functionName: lxml.html._difflib.Differ.__init__
    functionSourceFile: lxml.html._difflib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 853
    functionName: lxml.html._difflib.Differ.compare
    functionSourceFile: lxml.html._difflib
    functionUses: 4
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.Differ._fancy_helper
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._plain_replace
    - non_adjacent.append
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.Differ._fancy_replace
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.zip
    - matching_blocks.sort
    - <builtin>.sum
    - queue.append
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - c.isspace
    - popular.add
    - <builtin>.list
    - fullbcount.get
    - lxml.html._difflib.Differ._qformat
    - indices.append
    - <builtin>.enumerate
    - <builtin>.len
    - junk.add
    - matching_blocks.append
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - a
    - alo
    - ahi
    - b
    - blo
    - bhi
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 913
    functionName: lxml.html._difflib.Differ._fancy_replace
    functionSourceFile: lxml.html._difflib
    functionUses: 5
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.Differ._fancy_helper
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._plain_replace
    - non_adjacent.append
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.zip
    - matching_blocks.sort
    - <builtin>.sum
    - queue.append
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - c.isspace
    - popular.add
    - <builtin>.list
    - fullbcount.get
    - lxml.html._difflib.Differ._qformat
    - indices.append
    - <builtin>.enumerate
    - <builtin>.len
    - junk.add
    - matching_blocks.append
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - tag
    - x
    - lo
    - hi
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 894
    functionName: lxml.html._difflib.Differ._dump
    functionSourceFile: lxml.html._difflib
    functionUses: 8
    functionsReached:
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - a
    - alo
    - ahi
    - b
    - blo
    - bhi
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 899
    functionName: lxml.html._difflib.Differ._plain_replace
    functionSourceFile: lxml.html._difflib
    functionUses: 7
    functionsReached:
    - <builtin>.range
    - lxml.html._difflib.Differ._dump
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - a
    - alo
    - ahi
    - b
    - blo
    - bhi
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1005
    functionName: lxml.html._difflib.Differ._fancy_helper
    functionSourceFile: lxml.html._difflib
    functionUses: 6
    functionsReached:
    - <builtin>.range
    - lxml.html._difflib.Differ._plain_replace
    - lxml.html._difflib.Differ._dump
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - aline
    - bline
    - atags
    - btags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1017
    functionName: lxml.html._difflib.Differ._qformat
    functionSourceFile: lxml.html._difflib
    functionUses: 6
    functionsReached:
    - c.isspace
    - <builtin>.zip
    - lxml.html._difflib._keep_original_ws
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9508df7c40>
    argNames:
    - line
    - pat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1061
    functionName: lxml.html._difflib.IS_LINE_JUNK
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - line.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1105
    functionName: lxml.html._difflib._format_range_unified
    functionSourceFile: lxml.html._difflib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f950979cfd0>
    - <ast.Constant object at 0x7f950979c670>
    - <ast.Constant object at 0x7f950979c970>
    - <ast.Constant object at 0x7f950979cca0>
    - <ast.Constant object at 0x7f950979ca90>
    - <ast.Constant object at 0x7f950979c2e0>
    argNames:
    - a
    - b
    - fromfile
    - tofile
    - fromfiledate
    - tofiledate
    - n
    - lineterm
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1116
    functionName: lxml.html._difflib.unified_diff
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - group.append
    - lxml.html._difflib._check_types
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - b2j.items
    - collections.namedtuple
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - non_adjacent.append
    - <builtin>.isinstance
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - matching_blocks.sort
    - queue.append
    - popular.add
    - <builtin>.list
    - indices.append
    - junk.add
    - <builtin>.len
    - lxml.html._difflib.SequenceMatcher.get_grouped_opcodes
    - <builtin>.enumerate
    - lxml.html._difflib._format_range_unified
    - matching_blocks.append
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - a
    - b
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1277
    functionName: lxml.html._difflib._check_types
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1189
    functionName: lxml.html._difflib._format_range_context
    functionSourceFile: lxml.html._difflib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e5bfa0>
    - <ast.Constant object at 0x7f9508e5b880>
    - <ast.Constant object at 0x7f9508e5be50>
    - <ast.Constant object at 0x7f9508e5b820>
    - <ast.Constant object at 0x7f9508e5b550>
    - <ast.Constant object at 0x7f9508e5be20>
    argNames:
    - a
    - b
    - fromfile
    - tofile
    - fromfiledate
    - tofiledate
    - n
    - lineterm
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1201
    functionName: lxml.html._difflib.context_diff
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - group.append
    - lxml.html._difflib._check_types
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - b2j.items
    - collections.namedtuple
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - non_adjacent.append
    - <builtin>.isinstance
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.dict
    - matching_blocks.sort
    - queue.append
    - popular.add
    - <builtin>.list
    - indices.append
    - junk.add
    - <builtin>.len
    - lxml.html._difflib.SequenceMatcher.get_grouped_opcodes
    - <builtin>.enumerate
    - <builtin>.any
    - matching_blocks.append
    - lxml.html._difflib._format_range_context
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f9508fcaf70>
    - <ast.Constant object at 0x7f9508fcadf0>
    - <ast.Constant object at 0x7f9508fcaaf0>
    - <ast.Constant object at 0x7f9508fcaa90>
    - <ast.Constant object at 0x7f9508fca580>
    - <ast.Constant object at 0x7f9508fcab50>
    argNames:
    - dfunc
    - a
    - b
    - fromfile
    - tofile
    - fromfiledate
    - tofiledate
    - n
    - lineterm
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1300
    functionName: lxml.html._difflib.diff_bytes
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - line.encode
    - s.decode
    - lxml.html._difflib.diff_bytes.decode
    - <builtin>.list
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1311
    functionName: lxml.html._difflib.diff_bytes.decode
    functionSourceFile: lxml.html._difflib
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - s.decode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508e48f70>
    - <ast.Name object at 0x7f9508e48400>
    argNames:
    - a
    - b
    - linejunk
    - charjunk
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1330
    functionName: lxml.html._difflib.ndiff
    functionSourceFile: lxml.html._difflib
    functionUses: 3
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - <builtin>.min
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - lxml.html._difflib.Differ.compare
    - b2j.keys
    - <builtin>.set
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.Differ._fancy_helper
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._plain_replace
    - non_adjacent.append
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.Differ._fancy_replace
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.zip
    - matching_blocks.sort
    - <builtin>.sum
    - queue.append
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - c.isspace
    - popular.add
    - <builtin>.list
    - fullbcount.get
    - lxml.html._difflib.Differ._qformat
    - indices.append
    - <builtin>.enumerate
    - <builtin>.len
    - junk.add
    - matching_blocks.append
    - lxml.html._difflib.Differ.__init__
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f950955ff40>
    - <ast.Constant object at 0x7f950955fdf0>
    - <ast.Name object at 0x7f950955fdc0>
    argNames:
    - fromlines
    - tolines
    - context
    - linejunk
    - charjunk
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1367
    functionName: lxml.html._difflib._mdiff
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.max
    - lines.pop
    - <builtin>.min
    - <builtin>.next
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - lxml.html._difflib.Differ.compare
    - re.compile
    - tolines.pop
    - b2j.keys
    - <builtin>.set
    - lines.append
    - <builtin>.range
    - answer.append
    - b2j.get
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.Differ._fancy_helper
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - lxml.html._difflib.SequenceMatcher.__init__
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._plain_replace
    - non_adjacent.append
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - lxml.html._difflib.Differ._fancy_replace
    - <builtin>.map
    - <builtin>.reversed
    - fromlines.append
    - <builtin>.zip
    - matching_blocks.sort
    - fromlines.pop
    - <builtin>.sum
    - queue.append
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - c.isspace
    - popular.add
    - <builtin>.list
    - fullbcount.get
    - lxml.html._difflib.Differ._qformat
    - indices.append
    - tolines.append
    - <builtin>.len
    - s.startswith
    - <builtin>.enumerate
    - junk.add
    - lxml.html._difflib.ndiff
    - matching_blocks.append
    - lxml.html._difflib._mdiff._line_pair_iterator
    - lxml.html._difflib._mdiff._line_iterator
    - lxml.html._difflib.Differ.__init__
    - lxml.html._difflib._mdiff._make_line
    - b2j.setdefault
    - queue.pop
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    - change_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.List object at 0x7f9508ed0400>
    argNames:
    - lines
    - format_key
    - side
    - num_lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1409
    functionName: lxml.html._difflib._mdiff._make_line
    functionSourceFile: lxml.html._difflib
    functionUses: 5
    functionsReached:
    - change_re.sub
    - lines.pop
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.pop
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f9508e81040>
    argNames:
    - match_object
    - sub_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1442
    functionName: lxml.html._difflib._mdiff._make_line.record_sub_info
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - match_object.group
    - sub_info.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sub_info.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match_object.group
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: change_re.sub
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 13
    IfCount: 12
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1465
    functionName: lxml.html._difflib._mdiff._line_iterator
    functionSourceFile: lxml.html._difflib
    functionUses: 4
    functionsReached:
    - lines.pop
    - <builtin>.next
    - <builtin>.len
    - lxml.html._difflib._mdiff._make_line
    - s.startswith
    - lines.append
    - change_re.sub
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1553
    functionName: lxml.html._difflib._mdiff._line_pair_iterator
    functionSourceFile: lxml.html._difflib
    functionUses: 3
    functionsReached:
    - lines.append
    - fromlines.append
    - lines.pop
    - fromlines.pop
    - lxml.html._difflib._mdiff._line_iterator
    - <builtin>.next
    - tolines.pop
    - lxml.html._difflib._mdiff._make_line
    - tolines.append
    - <builtin>.len
    - s.startswith
    - change_re.sub
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fromlines.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tolines.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fromlines.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tolines.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f95083b2520>
    - <ast.Constant object at 0x7f95083b24f0>
    - <ast.Constant object at 0x7f95083b24c0>
    - <ast.Name object at 0x7f95083b2490>
    argNames:
    - self
    - tabsize
    - wrapcolumn
    - linejunk
    - charjunk
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1746
    functionName: lxml.html._difflib.HtmlDiff.__init__
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f95083cae50>
    - <ast.Constant object at 0x7f95083cae20>
    - <ast.Constant object at 0x7f95083cadf0>
    - <ast.Constant object at 0x7f95083cadc0>
    argNames:
    - self
    - fromlines
    - tolines
    - fromdesc
    - todesc
    - context
    - numlines
    - charset
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1763
    functionName: lxml.html._difflib.HtmlDiff.make_file
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.min
    - lxml.html._difflib.Differ.compare
    - tolines.pop
    - b2j.keys
    - b2j.get
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.dict
    - tolist.append
    - fromlines.pop
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - tolines.append
    - lxml.html._difflib.Differ.__init__
    - flaglist.append
    - lxml.html._difflib.HtmlDiff._tab_newline_replace
    - lxml.html._difflib.HtmlDiff._tab_newline_replace.expand_tabs
    - change_re.sub
    - lines.pop
    - <builtin>.next
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - tolist.pop
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.Differ._fancy_helper
    - line.replace
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - non_adjacent.append
    - <builtin>.reversed
    - <builtin>.sum
    - queue.append
    - <builtin>.list
    - lxml.html._difflib.Differ._qformat
    - s.startswith
    - <builtin>.len
    - lxml.html._difflib.HtmlDiff._format_line
    - line.expandtabs
    - fromlist.append
    - lxml.html._difflib._mdiff
    - lxml.html._difflib._mdiff._make_line
    - b2j.setdefault
    - queue.pop
    - <builtin>.max
    - lxml.html._difflib.HtmlDiff._convert_flags
    - re.compile
    - lines.append
    - answer.append
    - s.append
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - data_list.append
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.__init__
    - text.count
    - lxml.html._difflib.Differ._plain_replace
    - lxml.html._difflib.HtmlDiff._make_prefix
    - lxml.html._difflib.HtmlDiff._line_wrapper
    - <builtin>.zip
    - matching_blocks.sort
    - fullbcount.get
    - <builtin>.enumerate
    - lxml.html._difflib.ndiff
    - matching_blocks.append
    - lxml.html._difflib._mdiff._line_iterator
    - fromlist.pop
    - <builtin>.set
    - <builtin>.range
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.Differ._fancy_replace
    - table.replace
    - fromlines.append
    - lxml.html._difflib.HtmlDiff._collect_lines
    - lxml.html._difflib.HtmlDiff._split_line
    - c.isspace
    - popular.add
    - indices.append
    - junk.add
    - text.replace
    - lxml.html._difflib._mdiff._line_pair_iterator
    - lxml.html._difflib.HtmlDiff.make_table
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f9508156580>
    - <ast.Constant object at 0x7f95081565b0>
    - <ast.Constant object at 0x7f95081565e0>
    - <ast.Constant object at 0x7f9508156610>
    argNames:
    - self
    - fromlines
    - tolines
    - fromdesc
    - todesc
    - context
    - numlines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1998
    functionName: lxml.html._difflib.HtmlDiff.make_table
    functionSourceFile: lxml.html._difflib
    functionUses: 1
    functionsReached:
    - lxml.html._difflib.SequenceMatcher.get_opcodes
    - <builtin>.min
    - lxml.html._difflib.Differ.compare
    - tolines.pop
    - b2j.keys
    - b2j.get
    - lxml.html._difflib.SequenceMatcher.ratio
    - lxml.html._difflib.SequenceMatcher.__chain_b
    - lxml.html._difflib.Differ._dump
    - lxml.html._difflib.SequenceMatcher.set_seq2
    - <builtin>.map
    - <builtin>.dict
    - tolist.append
    - fromlines.pop
    - lxml.html._difflib.SequenceMatcher.quick_ratio
    - tolines.append
    - lxml.html._difflib.Differ.__init__
    - flaglist.append
    - lxml.html._difflib.HtmlDiff._tab_newline_replace
    - lxml.html._difflib.HtmlDiff._tab_newline_replace.expand_tabs
    - change_re.sub
    - lines.pop
    - <builtin>.next
    - lxml.html._difflib.SequenceMatcher.real_quick_ratio
    - tolist.pop
    - lxml.html._difflib.IS_CHARACTER_JUNK
    - lxml.html._difflib.Differ._fancy_helper
    - line.replace
    - lxml.html._difflib._calculate_ratio
    - collections.namedtuple
    - lxml.html._difflib._keep_original_ws
    - non_adjacent.append
    - <builtin>.reversed
    - <builtin>.sum
    - queue.append
    - <builtin>.list
    - lxml.html._difflib.Differ._qformat
    - s.startswith
    - <builtin>.len
    - lxml.html._difflib.HtmlDiff._format_line
    - line.expandtabs
    - fromlist.append
    - lxml.html._difflib._mdiff
    - lxml.html._difflib._mdiff._make_line
    - b2j.setdefault
    - queue.pop
    - <builtin>.max
    - lxml.html._difflib.HtmlDiff._convert_flags
    - re.compile
    - lines.append
    - answer.append
    - s.append
    - lxml.html._difflib.SequenceMatcher.get_matching_blocks
    - data_list.append
    - b2j.items
    - lxml.html._difflib.SequenceMatcher.__init__
    - text.count
    - lxml.html._difflib.Differ._plain_replace
    - lxml.html._difflib.HtmlDiff._make_prefix
    - lxml.html._difflib.HtmlDiff._line_wrapper
    - <builtin>.zip
    - matching_blocks.sort
    - fullbcount.get
    - <builtin>.enumerate
    - lxml.html._difflib.ndiff
    - matching_blocks.append
    - lxml.html._difflib._mdiff._line_iterator
    - fromlist.pop
    - <builtin>.set
    - <builtin>.range
    - lxml.html._difflib.SequenceMatcher.set_seqs
    - lxml.html._difflib.SequenceMatcher.set_seq1
    - lxml.html._difflib.Differ._fancy_replace
    - table.replace
    - fromlines.append
    - lxml.html._difflib.HtmlDiff._collect_lines
    - lxml.html._difflib.HtmlDiff._split_line
    - c.isspace
    - popular.add
    - indices.append
    - junk.add
    - text.replace
    - lxml.html._difflib._mdiff._line_pair_iterator
    - j2len.get
    - lxml.html._difflib.SequenceMatcher.find_longest_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fromlines
    - tolines
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1790
    functionName: lxml.html._difflib.HtmlDiff._tab_newline_replace
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - line.expandtabs
    - line.replace
    - lxml.html._difflib.HtmlDiff._tab_newline_replace.expand_tabs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1800
    functionName: lxml.html._difflib.HtmlDiff._tab_newline_replace.expand_tabs
    functionSourceFile: lxml.html._difflib
    functionUses: 3
    functionsReached:
    - line.expandtabs
    - line.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.expandtabs
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - data_list
    - line_num
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1813
    functionName: lxml.html._difflib.HtmlDiff._split_line
    functionSourceFile: lxml.html._difflib
    functionUses: 3
    functionsReached:
    - data_list.append
    - <builtin>.len
    - text.count
    - lxml.html._difflib.HtmlDiff._split_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data_list.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.count
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - diffs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1868
    functionName: lxml.html._difflib.HtmlDiff._line_wrapper
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - data_list.append
    - text.count
    - lxml.html._difflib.HtmlDiff._split_line
    - tolist.pop
    - <builtin>.len
    - fromlist.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fromlist.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tolist.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - diffs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1896
    functionName: lxml.html._difflib.HtmlDiff._collect_lines
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - lxml.html._difflib.HtmlDiff._format_line
    - tolist.append
    - text.replace
    - fromlist.append
    - flaglist.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - side
    - flag
    - linenum
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1917
    functionName: lxml.html._difflib.HtmlDiff._format_line
    functionSourceFile: lxml.html._difflib
    functionUses: 3
    functionsReached:
    - text.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fromlist.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tolist.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flaglist.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1940
    functionName: lxml.html._difflib.HtmlDiff._make_prefix
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - fromlist
    - tolist
    - flaglist
    - context
    - numlines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1951
    functionName: lxml.html._difflib.HtmlDiff._convert_flags
    functionSourceFile: lxml.html._difflib
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: table.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - delta
    - which
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2076
    functionName: lxml.html._difflib.restore
    functionSourceFile: lxml.html._difflib
    functionUses: 0
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._html5builder
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - publicId
    - systemId
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: lxml.html._html5builder.DocumentType.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: lxml.html._html5builder.Document.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: lxml.html._html5builder.Document.appendChild
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: lxml.html._html5builder.TreeBuilder.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.etree.getETreeModule
    - html5lib.treebuilders._base.TreeBuilder.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.etree.getETreeModule
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.__init__
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: lxml.html._html5builder.TreeBuilder.reset
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.reset
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: lxml.html._html5builder.TreeBuilder.getDocument
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html._html5builder.TreeBuilder.getFragment
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - element.getchildren
    - fragment.append
    - fragment.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fragment.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.getchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fragment.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - publicId
    - systemId
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: lxml.html._html5builder.TreeBuilder.insertDoctype
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - lxml.html._html5builder.DocumentType.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508f230d0>
    argNames:
    - self
    - data
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: lxml.html._html5builder.TreeBuilder.insertComment
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.insertComment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.insertComment
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 75
    functionName: lxml.html._html5builder.TreeBuilder.insertRoot
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - el.iter
    - value.find
    - doc.findall
    - tag.split
    - lxml.html.document_fromstring
    - root.getroottree
    - body.text.strip
    - other_head.drop_tree
    - body.extend
    - <builtin>.isinstance
    - value.insert
    - lxml.html._contains_block_level_tag
    - root.addprevious
    - lxml.html._nons
    - etree.fromstring
    - lxml.html._html5builder.Document.__init__
    - <builtin>.len
    - head.extend
    - other_body.drop_tree
    - lxml.html.Element
    - buf.append
    - etree.Comment
    - html5lib.treebuilders._base.TreeBuilder.openElements.append
    - value.append
    - lxml.html.fromstring
    - etree.HTMLParser.makeelement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.Comment
    functionSourceFile: etree
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.addprevious
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getroottree
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.openElements.append
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.formfill
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - kw.items
    - lxml.etree.XPath
    - <builtin>.hasattr
    - <builtin>.setattr
    - lxml.html.formfill.DefaultErrorCreator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.XPath
    functionSourceFile: lxml
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9508d27b50>
    - <ast.Constant object at 0x7f9508d27fa0>
    argNames:
    - el
    - values
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 29
    functionName: lxml.html.formfill.fill_form
    functionSourceFile: lxml.html.formfill
    functionUses: 1
    functionsReached:
    - values.get
    - counts.get
    - el.get_element_by_id
    - lxml.html.formfill._fill_single
    - lxml.html.formfill._check
    - lxml.html.formfill._takes_multiple
    - lxml.html.formfill._select
    - tag.split
    - option.text_content
    - lxml.html.formfill._find_form
    - <builtin>.isinstance
    - lxml.html.formfill._fill_multiple
    - input.get
    - input.set
    - lxml.html._nons
    - lxml.html.formfill._fill_form
    - option.get
    - <builtin>.len
    - <builtin>.hasattr
    - values.mixed
    - el.set
    - lxml.etree.XPath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9509567640>
    - <ast.Constant object at 0x7f9509567370>
    argNames:
    - el
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: lxml.html.formfill._find_form
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.get_element_by_id
    - lxml.etree.XPath
    linkageType: pythonLinkage
    raised:
    - FormNotFound
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: lxml.html.formfill._fill_form
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - values.get
    - counts.get
    - lxml.html.formfill._fill_single
    - lxml.html.formfill._check
    - lxml.html.formfill._takes_multiple
    - tag.split
    - lxml.html.formfill._select
    - option.text_content
    - <builtin>.isinstance
    - lxml.html.formfill._fill_multiple
    - input.get
    - input.set
    - lxml.html._nons
    - option.get
    - <builtin>.len
    - <builtin>.hasattr
    - values.mixed
    - el.set
    - lxml.etree.XPath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f95097b0160>
    - <ast.Constant object at 0x7f95097b0640>
    argNames:
    - html
    - values
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 38
    functionName: lxml.html.formfill.fill_form_html
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - values.get
    - counts.get
    - el.iter
    - el.get_element_by_id
    - value.find
    - lxml.html.formfill._fill_single
    - doc.findall
    - lxml.html.formfill._check
    - lxml.html.formfill._takes_multiple
    - lxml.html.formfill._select
    - tag.split
    - lxml.html.document_fromstring
    - option.text_content
    - lxml.html.tostring
    - lxml.html.formfill._find_form
    - body.text.strip
    - <builtin>.issubclass
    - copy.deepcopy
    - other_head.drop_tree
    - body.extend
    - <builtin>.isinstance
    - value.insert
    - lxml.html.formfill._fill_multiple
    - input.get
    - <builtin>.type
    - etree.tostring
    - lxml.html._contains_block_level_tag
    - input.set
    - lxml.html._nons
    - lxml.html.formfill._fill_form
    - etree.fromstring
    - option.get
    - <builtin>.len
    - head.extend
    - <builtin>.hasattr
    - other_body.drop_tree
    - lxml.html.Element
    - lxml.html._transform_result
    - lxml.html.formfill.fill_form
    - values.mixed
    - el.set
    - value.append
    - lxml.html.fromstring
    - lxml.etree.XPath
    - etree.HTMLParser.makeelement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.mixed
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input.get
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: lxml.html.formfill._takes_multiple
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    - tag.split
    - input.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - input
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: lxml.html.formfill._fill_multiple
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - input.get
    - el.set
    - <builtin>.len
    - lxml.html._nons
    - option.get
    - tag.split
    - <builtin>.isinstance
    - lxml.html.formfill._check
    - lxml.html.formfill._select
    - option.text_content
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: counts.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - input
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: lxml.html.formfill._fill_single
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - input.set
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    - tag.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - check
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: lxml.html.formfill._check
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: option.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: option.text_content
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - select
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: lxml.html.formfill._select
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.get_element_by_id
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: lxml.html.formfill._find_form_ids
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - form.get
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: lxml.html.formfill.DefaultErrorCreator.__init__
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - kw.items
    - <builtin>.hasattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - el
    - is_block
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: lxml.html.formfill.DefaultErrorCreator.__call__
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - error_el.append
    - el.getparent
    - el.makeelement
    - el.insert
    - parent.index
    - el.append
    - error_el.set
    - <builtin>.isinstance
    - error_el.get
    - parent.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.makeelement
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f9509799a30>
    - <ast.Constant object at 0x7f95097992b0>
    - <ast.Constant object at 0x7f9509799b80>
    - <ast.Name object at 0x7f9509799640>
    argNames:
    - el
    - errors
    - form_id
    - form_index
    - error_class
    - error_creator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 231
    functionName: lxml.html.formfill.insert_errors
    functionSourceFile: lxml.html.formfill
    functionUses: 1
    functionsReached:
    - el.get
    - el.get_element_by_id
    - errors.items
    - lxml.html.formfill._add_class
    - tag.split
    - lxml.html.formfill._insert_error
    - lxml.html.formfill._find_form
    - name.startswith
    - lxml.html.formfill._find_elements_for_name
    - <builtin>.isinstance
    - lxml.html.formfill.DefaultErrorCreator.__init__
    - <builtin>.setattr
    - <builtin>.type
    - <builtin>.zip
    - lxml.html._nons
    - <builtin>.len
    - <builtin>.hasattr
    - form.get_element_by_id
    - el.set
    - kw.items
    - lxml.etree.XPath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - form
    - name
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: lxml.html.formfill._find_elements_for_name
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - <builtin>.zip
    - form.get_element_by_id
    - name.startswith
    - lxml.etree.XPath
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - el
    - error
    - error_class
    - error_creator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 257
    functionName: lxml.html.formfill._insert_error
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - el.get
    - el.set
    - kw.items
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.hasattr
    - lxml.etree.XPath
    - <builtin>.isinstance
    - lxml.html.formfill._add_class
    - tag.split
    - lxml.html.formfill.DefaultErrorCreator.__init__
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - html
    - values
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 248
    functionName: lxml.html.formfill.insert_errors_html
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - el.get
    - el.iter
    - el.get_element_by_id
    - value.find
    - doc.findall
    - errors.items
    - lxml.html.formfill._add_class
    - tag.split
    - lxml.html.document_fromstring
    - lxml.html.formfill.insert_errors
    - lxml.html.tostring
    - lxml.html.formfill._insert_error
    - lxml.html.formfill._find_form
    - body.text.strip
    - <builtin>.issubclass
    - copy.deepcopy
    - other_head.drop_tree
    - body.extend
    - name.startswith
    - lxml.html.formfill._find_elements_for_name
    - <builtin>.isinstance
    - value.insert
    - lxml.html.formfill.DefaultErrorCreator.__init__
    - <builtin>.setattr
    - <builtin>.type
    - etree.tostring
    - lxml.html._contains_block_level_tag
    - <builtin>.zip
    - lxml.html._nons
    - etree.fromstring
    - <builtin>.len
    - head.extend
    - <builtin>.hasattr
    - other_body.drop_tree
    - lxml.html.Element
    - lxml.html._transform_result
    - form.get_element_by_id
    - el.set
    - kw.items
    - value.append
    - lxml.html.fromstring
    - etree.HTMLParser.makeelement
    - lxml.etree.XPath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - class_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: lxml.html.formfill._add_class
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - el.get
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.get_element_by_id
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.builder
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached:
    - lxml.builder.ElementMaker.__init__
    - <builtin>.callable
    - <builtin>.getattr
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: lxml.html.builder.CLASS
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 173
    functionName: lxml.html.builder.FOR
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.html.usedoctest
    functionSourceFile: lxml.html.usedoctest
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare.temp_install
    - lxml.doctestcompare._RestoreChecker.install_clone
    - lxml.doctestcompare._find_doctest_frame
    - sys._getframe
    - doctest.OutputChecker.__init__
    - lxml.doctestcompare._RestoreChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html.ElementSoup
    functionSourceFile: lxml.html.ElementSoup
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f9508ebec10>
    - <ast.Constant object at 0x7f9508ebeb20>
    argNames:
    - file
    - beautifulsoup
    - makeelement
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 8
    functionName: lxml.html.ElementSoup.parse
    functionSourceFile: lxml.html.ElementSoup
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - lxml.html.soupparser.parse
    - res_root.getroottree
    - lxml.html.soupparser._init_node_converters
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._PseudoTag.__init__
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - prev.addprevious
    - ordered_node_types.append
    - etree.ElementTree
    - declaration.output_ready
    - <builtin>.isinstance
    - prev.addnext
    - <builtin>.reversed
    - <builtin>.type
    - bs4.BeautifulSoup
    - lxml.html.soupparser._init_node_converters.converter.add
    - BeautifulSoup.BeautifulSoup
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.hasattr
    - lxml.html.soupparser._parse
    - lxml.html.soupparser._convert_tree
    - root.getroot
    - match.groups
    - roots.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes
    functionSourceFile: lxml.includes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes.libexslt
    functionSourceFile: lxml.includes.libexslt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes.libxslt
    functionSourceFile: lxml.includes.libxslt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes.extlibs
    functionSourceFile: lxml.includes.extlibs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes.libxml
    functionSourceFile: lxml.includes.libxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_schematron':
  - 49
  - 50
  - 22
  '...fuzz_schematron.TestOneInput':
  - 33
  - 34
  - 38
  - 28
  - 30
  - 31
  '...fuzz_schematron.main':
  - 45
  - 46
  lxml.ElementInclude:
  - 44
  lxml.ElementInclude._include:
  - 178
  - 179
  - 183
  - 184
  - 186
  - 188
  - 189
  - 191
  - 192
  - 194
  - 195
  - 196
  - 197
  - 198
  - 202
  - 205
  - 206
  - 210
  - 211
  - 213
  - 215
  - 216
  - 217
  - 218
  - 222
  - 223
  - 225
  - 229
  - 234
  - 235
  - 236
  lxml.ElementInclude._lxml_default_loader:
  - 114
  - 115
  - 117
  - 118
  - 120
  - 121
  - 122
  - 123
  - 125
  lxml.ElementInclude._wrap_et_loader.load:
  - 134
  lxml.ElementInclude.default_loader:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 104
  - 105
  lxml.ElementInclude.include:
  - 160
  - 163
  - 164
  - 166
  - 168
  - 169
  - 171
  - 172
  - 173
  - 158
  lxml._elementpath:
  - 61
  lxml._elementpath._build_path_iterator:
  - 258
  - 293
  - 262
  - 263
  - 297
  - 266
  - 267
  - 298
  - 269
  - 299
  - 275
  - 276
  - 278
  - 280
  - 253
  - 254
  - 287
  lxml._elementpath.find:
  - 321
  - 323
  lxml._elementpath.findall:
  - 332
  lxml._elementpath.findtext:
  - 339
  - 340
  lxml._elementpath.iterfind:
  - 312
  - 313
  - 310
  - 311
  lxml._elementpath.prepare_child.select:
  - 104
  - 103
  lxml._elementpath.prepare_descendant:
  - 120
  - 122
  - 119
  lxml._elementpath.prepare_descendant.select:
  - 128
  - 127
  lxml._elementpath.prepare_parent.select:
  - 136
  - 133
  - 134
  - 135
  lxml._elementpath.prepare_predicate:
  - 166
  - 201
  - 203
  - 205
  - 206
  - 175
  - 207
  - 146
  - 147
  - 149
  - 213
  - 184
  - 152
  - 217
  - 215
  - 155
  - 188
  - 158
  lxml._elementpath.prepare_predicate.select:
  - 162
  - 163
  - 164
  - 171
  - 172
  - 173
  - 179
  - 180
  - 181
  - 190
  - 191
  - 192
  - 193
  - 197
  - 198
  - 199
  - 223
  - 224
  - 225
  - 229
  - 230
  - 231
  lxml._elementpath.prepare_star.select:
  - 109
  - 110
  lxml._elementpath.xpath_tokenizer:
  - 96
  - 75
  - 77
  - 79
  - 80
  - 81
  - 83
  - 85
  - 88
  - 89
  - 90
  - 91
  - 93
  lxml.builder:
  - 56
  - 243
  - 61
  - 38
  lxml.builder.ElementMaker:
  - 67
  lxml.builder.ElementMaker.__call__:
  - 228
  - 229
  - 230
  - 203
  - 206
  - 208
  - 209
  - 210
  - 212
  - 213
  - 214
  - 215
  - 216
  - 217
  - 218
  - 220
  - 222
  - 223
  lxml.builder.ElementMaker.__class_getitem__:
  - 239
  lxml.builder.ElementMaker.__getattr__:
  - 235
  lxml.builder.ElementMaker.__init__:
  - 160
  - 194
  - 164
  - 179
  - 181
  - 183
  - 158
  lxml.builder.ElementMaker.__init__.add_cdata:
  - 175
  lxml.builder.ElementMaker.__init__.add_dict:
  - 192
  - 188
  - 189
  lxml.cssselect:
  - 1
  - 54
  lxml.cssselect.CSSSelector:
  - 60
  lxml.cssselect.CSSSelector.__init__:
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  lxml.cssselect.CSSSelector.__repr__:
  - 100
  lxml.cssselect.LxmlHTMLTranslator:
  - 46
  lxml.cssselect.LxmlTranslator:
  - 29
  lxml.cssselect.LxmlTranslator.xpath_contains_function:
  - 40
  - 42
  - 35
  lxml.cssselect._make_lower_case:
  - 52
  lxml.doctestcompare:
  - 65
  - 1
  - 484
  - 486
  - 71
  - 72
  - 50
  - 51
  - 52
  lxml.doctestcompare.LXMLOutputChecker._looks_like_markup:
  - 121
  - 122
  - 123
  lxml.doctestcompare.LXMLOutputChecker.check_output:
  - 99
  - 102
  - 84
  - 85
  - 90
  - 91
  - 92
  - 95
  lxml.doctestcompare.LXMLOutputChecker.collect_diff:
  - 284
  - 285
  - 286
  - 287
  - 288
  - 289
  - 290
  - 291
  - 292
  - 293
  - 294
  - 295
  - 296
  - 297
  - 298
  - 299
  - 300
  - 301
  - 303
  - 304
  - 306
  - 307
  - 309
  - 310
  - 311
  - 312
  - 313
  - 314
  - 315
  - 316
  - 317
  - 318
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag:
  - 348
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag:
  - 321
  - 327
  - 328
  - 329
  - 331
  - 332
  - 334
  - 335
  - 336
  - 337
  - 338
  - 340
  - 341
  - 342
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_text:
  - 360
  - 355
  - 356
  - 358
  lxml.doctestcompare.LXMLOutputChecker.compare_docs:
  - 128
  - 130
  - 132
  - 133
  - 134
  - 135
  - 137
  - 138
  - 140
  - 141
  - 142
  - 144
  - 146
  - 147
  - 148
  - 150
  - 126
  lxml.doctestcompare.LXMLOutputChecker.format_doc:
  - 256
  - 225
  - 227
  - 228
  - 229
  - 230
  - 231
  - 232
  - 233
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  - 248
  - 249
  - 250
  - 251
  - 252
  - 253
  - 254
  - 255
  lxml.doctestcompare.LXMLOutputChecker.format_end_tag:
  - 277
  lxml.doctestcompare.LXMLOutputChecker.format_tag:
  - 267
  - 270
  - 271
  - 272
  - 274
  lxml.doctestcompare.LXMLOutputChecker.format_text:
  - 259
  - 261
  - 262
  - 263
  lxml.doctestcompare.LXMLOutputChecker.get_parser:
  - 106
  - 108
  - 110
  - 112
  - 113
  - 115
  - 116
  - 117
  lxml.doctestcompare.LXMLOutputChecker.html_empty_tag:
  - 216
  - 218
  - 214
  lxml.doctestcompare.LXMLOutputChecker.output_difference:
  - 192
  - 194
  - 195
  - 196
  - 197
  - 199
  - 200
  - 201
  - 206
  - 208
  - 210
  - 211
  - 183
  - 185
  - 187
  - 189
  - 190
  lxml.doctestcompare.LXMLOutputChecker.tag_compare:
  - 168
  - 170
  - 171
  - 175
  - 177
  lxml.doctestcompare.LXMLOutputChecker.text_compare:
  - 160
  - 161
  - 162
  - 157
  - 158
  - 159
  lxml.doctestcompare._RestoreChecker.__call__:
  - 449
  - 450
  - 445
  - 446
  lxml.doctestcompare._RestoreChecker.__init__:
  - 424
  - 423
  lxml.doctestcompare._RestoreChecker.call_super:
  - 457
  - 453
  - 455
  lxml.doctestcompare._RestoreChecker.uninstall_module:
  - 440
  - 441
  - 443
  - 437
  lxml.doctestcompare._find_doctest_frame:
  - 464
  - 461
  lxml.doctestcompare.html_fromstring:
  - 68
  lxml.doctestcompare.install:
  - 373
  - 367
  lxml.doctestcompare.norm_whitespace:
  - 63
  lxml.doctestcompare.strip:
  - 57
  - 60
  lxml.doctestcompare.temp_install:
  - 386
  - 390
  - 392
  - 409
  - 379
  lxml.get_include:
  - 7
  - 14
  - 17
  - 18
  - 19
  - 20
  lxml.html:
  - 1926
  - 1927
  - 661
  - 662
  - 663
  - 664
  - 665
  - 666
  - 31
  - 64
  - 1856
  - 66
  - 68
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  - 78
  - 79
  - 731
  - 733
  - 1776
  - 1778
  lxml.html.CheckboxGroup:
  - 1522
  lxml.html.CheckboxGroup.__repr__:
  - 1562
  lxml.html.CheckboxGroup.value:
  - 1537
  - 1542
  - 1543
  - 1547
  - 1551
  - 1533
  lxml.html.CheckboxGroup.value_options:
  - 1555
  - 1558
  lxml.html.CheckboxValues:
  - 1566
  lxml.html.CheckboxValues.__iter__:
  - 1576
  - 1575
  lxml.html.CheckboxValues.__repr__:
  - 1604
  lxml.html.CheckboxValues.add:
  - 1581
  - 1582
  - 1583
  lxml.html.CheckboxValues.remove:
  - 1589
  - 1590
  - 1591
  lxml.html.Classes:
  - 109
  lxml.html.Classes.__contains__:
  - 169
  - 170
  lxml.html.Classes.__init__:
  - 127
  lxml.html.Classes.__iter__:
  - 173
  lxml.html.Classes.__len__:
  - 176
  lxml.html.Classes.add:
  - 130
  - 135
  - 137
  - 138
  - 140
  - 141
  lxml.html.Classes.discard:
  - 144
  - 149
  - 151
  - 153
  - 154
  - 155
  lxml.html.Classes.remove:
  - 164
  - 166
  - 159
  lxml.html.Classes.toggle:
  - 194
  - 200
  - 202
  - 204
  - 207
  - 209
  - 210
  lxml.html.Classes.update:
  - 181
  - 184
  - 186
  - 187
  - 188
  - 190
  - 191
  lxml.html.Element:
  - 1922
  - 1918
  lxml.html.ElementSoup.parse:
  - 9
  - 10
  lxml.html.FieldsDict.__iter__:
  - 1139
  lxml.html.FieldsDict.__len__:
  - 1141
  lxml.html.FieldsDict.__repr__:
  - 1146
  lxml.html.FieldsDict.keys:
  - 1135
  lxml.html.FormElement:
  - 944
  lxml.html.FormElement._name:
  - 982
  - 983
  - 984
  - 985
  - 987
  - 988
  - 989
  - 990
  lxml.html.FormElement.action:
  - 1026
  - 1030
  - 1031
  - 1032
  - 1038
  - 1043
  lxml.html.FormElement.fields:
  - 964
  - 969
  - 970
  - 971
  - 972
  - 974
  - 975
  - 959
  lxml.html.FormElement.form_values:
  - 993
  - 998
  - 1000
  - 1002
  - 1003
  - 1004
  - 1005
  - 1007
  - 1008
  - 1009
  - 1010
  - 1011
  - 1015
  - 1017
  - 1020
  - 1021
  lxml.html.FormElement.inputs:
  - 955
  - 950
  lxml.html.FormElement.method:
  - 1048
  - 1056
  - 1052
  lxml.html.HTMLParser:
  - 1887
  lxml.html.HTMLParser.__init__:
  - 1891
  - 1892
  lxml.html.HtmlElementClassLookup:
  - 686
  lxml.html.HtmlElementClassLookup.__init__:
  - 704
  - 705
  - 707
  - 708
  - 709
  - 710
  - 711
  - 697
  - 698
  - 699
  - 700
  - 702
  - 703
  lxml.html.HtmlElementClassLookup.lookup:
  - 715
  - 716
  - 717
  - 719
  - 721
  lxml.html.HtmlMixin.base_url:
  - 251
  - 245
  lxml.html.HtmlMixin.body:
  - 266
  - 262
  lxml.html.HtmlMixin.classes:
  - 229
  - 232
  - 236
  - 237
  - 238
  - 239
  - 240
  lxml.html.HtmlMixin.cssselect:
  - 403
  - 413
  lxml.html.HtmlMixin.drop_tag:
  - 354
  - 358
  - 330
  - 341
  - 343
  - 344
  - 346
  - 350
  - 351
  lxml.html.HtmlMixin.drop_tree:
  - 321
  - 322
  - 323
  - 327
  - 314
  - 319
  lxml.html.HtmlMixin.find_class:
  - 370
  - 373
  lxml.html.HtmlMixin.find_rel_links:
  - 362
  - 365
  - 366
  - 367
  lxml.html.HtmlMixin.forms:
  - 258
  - 255
  lxml.html.HtmlMixin.get_element_by_id:
  - 376
  - 389
  - 391
  lxml.html.HtmlMixin.head:
  - 272
  - 276
  lxml.html.HtmlMixin.iterlinks:
  - 512
  - 513
  - 514
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 526
  - 527
  - 528
  - 529
  - 530
  - 531
  - 532
  - 533
  - 534
  - 537
  - 538
  - 539
  - 540
  - 541
  - 542
  - 543
  - 550
  - 551
  - 554
  - 555
  - 557
  - 558
  - 560
  - 564
  - 565
  - 566
  - 567
  - 568
  - 569
  - 571
  - 572
  - 573
  - 486
  - 503
  - 505
  - 506
  - 510
  - 511
  lxml.html.HtmlMixin.label:
  - 288
  - 289
  - 296
  - 297
  - 301
  - 305
  - 310
  - 282
  - 285
  - 286
  lxml.html.HtmlMixin.make_links_absolute:
  - 449
  - 421
  - 455
  - 462
  - 435
  - 437
  - 440
  - 441
  - 443
  lxml.html.HtmlMixin.make_links_absolute.link_repl:
  - 457
  - 452
  - 446
  lxml.html.HtmlMixin.resolve_base_href:
  - 480
  - 482
  - 465
  - 475
  - 477
  - 478
  - 479
  lxml.html.HtmlMixin.rewrite_links:
  - 577
  - 613
  - 614
  - 617
  - 618
  - 621
  - 622
  - 593
  - 596
  - 598
  - 599
  - 601
  - 602
  - 603
  - 605
  - 607
  lxml.html.HtmlMixin.set:
  - 225
  - 219
  lxml.html.HtmlMixin.text_content:
  - 400
  - 397
  lxml.html.InputElement:
  - 1609
  lxml.html.InputElement.checkable:
  - 1673
  lxml.html.InputElement.checked:
  - 1698
  - 1680
  - 1686
  - 1692
  - 1694
  - 1695
  lxml.html.InputElement.type:
  - 1665
  - 1669
  - 1662
  lxml.html.InputElement.value:
  - 1633
  - 1634
  - 1635
  - 1638
  - 1642
  - 1643
  - 1647
  - 1648
  - 1650
  - 1654
  - 1657
  - 1626
  lxml.html.InputGetter:
  - 1151
  lxml.html.InputGetter.__contains__:
  - 1196
  - 1197
  lxml.html.InputGetter.__getitem__:
  - 1184
  - 1187
  - 1188
  - 1179
  - 1182
  - 1183
  lxml.html.InputGetter.__iter__:
  - 1232
  lxml.html.InputGetter.__len__:
  - 1235
  lxml.html.InputGetter.__repr__:
  - 1172
  lxml.html.InputGetter.items:
  - 1217
  - 1223
  - 1224
  - 1226
  - 1227
  - 1228
  lxml.html.InputGetter.keys:
  - 1202
  - 1209
  - 1211
  - 1212
  - 1213
  lxml.html.InputMixin:
  - 1239
  lxml.html.InputMixin.__repr__:
  - 1266
  - 1260
  - 1261
  lxml.html.InputMixin.name:
  - 1256
  - 1251
  - 1244
  - 1247
  lxml.html.LabelElement:
  - 1706
  lxml.html.LabelElement.for_element:
  - 1729
  - 1734
  - 1714
  - 1718
  - 1719
  - 1721
  - 1725
  - 1726
  lxml.html.MultipleSelectOptions:
  - 1408
  lxml.html.MultipleSelectOptions.__iter__:
  - 1426
  - 1427
  - 1428
  - 1429
  - 1430
  - 1431
  lxml.html.MultipleSelectOptions.__repr__:
  - 1464
  lxml.html.MultipleSelectOptions.add:
  - 1434
  - 1435
  - 1436
  - 1437
  - 1438
  - 1439
  lxml.html.MultipleSelectOptions.options:
  - 1420
  - 1423
  lxml.html.MultipleSelectOptions.remove:
  - 1446
  - 1447
  - 1448
  - 1449
  - 1450
  - 1451
  lxml.html.RadioGroup:
  - 1469
  lxml.html.RadioGroup.__repr__:
  - 1518
  lxml.html.RadioGroup.value:
  - 1479
  - 1483
  - 1484
  - 1485
  - 1491
  - 1492
  - 1493
  - 1498
  - 1499
  - 1501
  - 1502
  lxml.html.RadioGroup.value_options:
  - 1513
  - 1510
  lxml.html.SelectElement:
  - 1305
  lxml.html.SelectElement.multiple:
  - 1400
  - 1399
  - 1398
  - 1391
  lxml.html.SelectElement.value:
  - 1318
  - 1324
  - 1325
  - 1326
  - 1329
  - 1332
  - 1335
  - 1336
  - 1337
  - 1342
  - 1343
  - 1346
  - 1347
  - 1350
  - 1351
  - 1352
  - 1353
  - 1354
  - 1355
  - 1361
  - 1362
  - 1364
  - 1365
  - 1370
  - 1371
  lxml.html.SelectElement.value_options:
  - 1377
  - 1382
  - 1383
  - 1384
  - 1385
  - 1386
  lxml.html.TextareaElement:
  - 1270
  lxml.html.TextareaElement.value:
  - 1280
  - 1276
  - 1284
  - 1286
  lxml.html.XHTMLParser:
  - 1896
  lxml.html.XHTMLParser.__init__:
  - 1913
  - 1914
  lxml.html._MethodFunc:
  - 626
  lxml.html._MethodFunc.__call__:
  - 640
  - 643
  - 645
  - 646
  - 649
  - 650
  - 651
  - 652
  - 654
  - 656
  - 638
  - 639
  lxml.html._MethodFunc.__init__:
  - 636
  lxml.html.__fix_docstring:
  - 56
  - 58
  - 59
  lxml.html._contains_block_level_tag:
  - 924
  - 925
  lxml.html._diffcommand:
  - 66
  - 68
  - 10
  - 16
  - 24
  lxml.html._diffcommand.annotate:
  - 84
  - 85
  lxml.html._diffcommand.main:
  - 33
  - 34
  - 35
  - 36
  - 37
  - 38
  - 39
  - 41
  - 42
  - 43
  - 44
  - 45
  - 47
  - 48
  - 50
  - 52
  - 53
  - 31
  lxml.html._diffcommand.read_file:
  - 56
  - 57
  - 58
  - 62
  - 63
  lxml.html._diffcommand.split_body:
  - 73
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  lxml.html._difflib:
  - 56
  - 41
  - 4
  lxml.html._difflib.Differ:
  - 745
  lxml.html._difflib.Differ.__init__:
  - 831
  lxml.html._difflib.Differ._dump:
  - 896
  - 897
  - 895
  lxml.html._difflib.Differ._fancy_helper:
  - 1007
  - 1008
  - 1009
  - 1011
  - 1012
  - 1013
  - 1015
  lxml.html._difflib.Differ._fancy_replace:
  - 914
  - 940
  - 948
  - 949
  - 953
  - 954
  - 955
  - 958
  - 959
  - 962
  - 963
  - 964
  - 965
  - 967
  - 972
  - 976
  - 979
  - 980
  - 982
  - 985
  - 987
  - 989
  - 994
  - 997
  - 1002
  lxml.html._difflib.Differ._plain_replace:
  - 903
  - 904
  - 905
  - 907
  - 908
  - 910
  - 911
  lxml.html._difflib.Differ._qformat:
  - 1033
  - 1034
  - 1036
  - 1037
  - 1038
  - 1040
  - 1041
  - 1042
  - 1018
  lxml.html._difflib.Differ.compare:
  - 879
  - 880
  - 881
  - 882
  - 883
  - 884
  - 885
  - 854
  - 886
  - 887
  - 888
  - 892
  lxml.html._difflib.HtmlDiff:
  - 1725
  lxml.html._difflib.HtmlDiff.__init__:
  - 1748
  lxml.html._difflib.HtmlDiff._collect_lines:
  - 1897
  - 1905
  - 1908
  - 1909
  - 1912
  - 1913
  - 1914
  lxml.html._difflib.HtmlDiff._convert_flags:
  - 1952
  - 1985
  - 1958
  - 1959
  - 1991
  - 1962
  - 1963
  - 1964
  - 1970
  - 1980
  lxml.html._difflib.HtmlDiff._format_line:
  - 1932
  - 1918
  - 1935
  lxml.html._difflib.HtmlDiff._line_wrapper:
  - 1890
  - 1891
  - 1894
  - 1869
  - 1872
  - 1874
  - 1875
  - 1881
  - 1882
  - 1886
  - 1887
  lxml.html._difflib.HtmlDiff._make_prefix:
  - 1941
  lxml.html._difflib.HtmlDiff._split_line:
  - 1824
  - 1858
  - 1828
  - 1830
  - 1831
  - 1863
  - 1866
  - 1840
  - 1844
  - 1814
  - 1823
  lxml.html._difflib.HtmlDiff._tab_newline_replace:
  - 1809
  - 1810
  - 1791
  lxml.html._difflib.HtmlDiff._tab_newline_replace.expand_tabs:
  - 1808
  - 1802
  - 1804
  - 1807
  lxml.html._difflib.HtmlDiff.make_file:
  - 1785
  - 1765
  - 1782
  lxml.html._difflib.HtmlDiff.make_table:
  - 2018
  - 2050
  - 2051
  - 2053
  - 2022
  - 2055
  - 2025
  - 2029
  - 2000
  - 2033
  - 2034
  - 2064
  - 2065
  - 2037
  - 2069
  - 2040
  - 2046
  - 2047
  lxml.html._difflib.IS_CHARACTER_JUNK:
  - 1083
  lxml.html._difflib.IS_LINE_JUNK:
  - 1080
  - 1075
  - 1077
  - 1062
  lxml.html._difflib.SequenceMatcher:
  - 65
  - 682
  - 683
  lxml.html._difflib.SequenceMatcher.__chain_b:
  - 320
  - 321
  - 299
  - 300
  - 301
  - 304
  - 306
  - 307
  - 308
  - 309
  - 310
  - 314
  - 315
  - 316
  - 318
  - 319
  lxml.html._difflib.SequenceMatcher.__init__:
  - 201
  - 140
  lxml.html._difflib.SequenceMatcher.find_longest_match:
  - 384
  - 385
  - 325
  - 392
  - 396
  - 398
  - 400
  - 402
  - 403
  - 436
  lxml.html._difflib.SequenceMatcher.get_grouped_opcodes:
  - 609
  - 610
  - 611
  - 612
  - 589
  - 590
  - 593
  - 595
  - 596
  - 565
  - 598
  - 602
  - 605
  - 606
  - 607
  lxml.html._difflib.SequenceMatcher.get_matching_blocks:
  - 439
  - 457
  - 459
  - 470
  - 471
  - 475
  - 476
  - 477
  - 478
  - 479
  - 480
  - 481
  - 488
  - 490
  - 499
  - 500
  - 502
  - 503
  - 505
  - 506
  lxml.html._difflib.SequenceMatcher.get_opcodes:
  - 549
  - 551
  - 542
  - 553
  - 555
  - 556
  - 560
  - 561
  - 538
  - 510
  lxml.html._difflib.SequenceMatcher.quick_ratio:
  - 641
  - 650
  - 652
  - 653
  - 660
  - 661
  - 664
  - 666
  - 668
  lxml.html._difflib.SequenceMatcher.ratio:
  - 637
  - 638
  - 615
  lxml.html._difflib.SequenceMatcher.real_quick_ratio:
  - 680
  - 677
  - 671
  lxml.html._difflib.SequenceMatcher.set_seq1:
  - 216
  - 236
  lxml.html._difflib.SequenceMatcher.set_seq2:
  - 242
  - 267
  - 262
  lxml.html._difflib.SequenceMatcher.set_seqs:
  - 212
  - 204
  - 213
  lxml.html._difflib._calculate_ratio:
  - 59
  lxml.html._difflib._check_types:
  - 1284
  - 1287
  - 1290
  - 1293
  - 1296
  - 1297
  lxml.html._difflib._format_range_context:
  - 1190
  - 1194
  - 1196
  - 1197
  - 1198
  lxml.html._difflib._format_range_unified:
  - 1106
  - 1110
  - 1111
  - 1112
  - 1114
  lxml.html._difflib._keep_original_ws:
  - 736
  - 737
  - 738
  - 739
  lxml.html._difflib._mdiff:
  - 1602
  - 1610
  - 1611
  - 1631
  - 1625
  - 1586
  - 1587
  - 1588
  - 1619
  - 1369
  - 1627
  - 1404
  - 1407
  lxml.html._difflib._mdiff._line_iterator:
  - 1536
  - 1538
  - 1544
  - 1547
  - 1548
  - 1551
  - 1466
  - 1485
  - 1486
  - 1487
  - 1488
  - 1493
  - 1495
  - 1497
  - 1501
  - 1503
  - 1506
  - 1508
  - 1510
  - 1512
  - 1514
  - 1516
  - 1519
  - 1521
  - 1525
  - 1527
  - 1529
  - 1531
  - 1534
  lxml.html._difflib._mdiff._line_pair_iterator:
  - 1570
  - 1572
  - 1575
  - 1576
  - 1577
  - 1578
  - 1580
  - 1581
  - 1582
  - 1554
  - 1566
  lxml.html._difflib._mdiff._make_line:
  - 1410
  - 1445
  - 1448
  - 1453
  - 1456
  - 1435
  - 1436
  - 1438
  - 1439
  lxml.html._difflib._mdiff._make_line.record_sub_info:
  - 1443
  - 1444
  lxml.html._difflib.context_diff:
  - 1203
  - 1245
  - 1246
  - 1248
  - 1249
  - 1251
  - 1252
  - 1253
  - 1254
  - 1257
  - 1259
  - 1260
  - 1262
  - 1263
  - 1264
  - 1265
  - 1266
  - 1268
  - 1269
  - 1271
  - 1272
  - 1273
  - 1274
  - 1275
  lxml.html._difflib.diff_bytes:
  - 1318
  - 1319
  - 1320
  - 1321
  - 1322
  - 1323
  - 1324
  - 1326
  - 1327
  - 1328
  - 1302
  lxml.html._difflib.diff_bytes.decode:
  - 1313
  - 1316
  lxml.html._difflib.get_close_matches:
  - 715
  - 717
  - 687
  - 720
  - 721
  - 722
  - 723
  - 724
  - 725
  - 726
  - 727
  - 730
  lxml.html._difflib.ndiff:
  - 1331
  - 1365
  lxml.html._difflib.restore:
  - 2099
  - 2104
  - 2105
  - 2106
  - 2077
  lxml.html._difflib.unified_diff:
  - 1157
  - 1159
  - 1160
  - 1162
  - 1163
  - 1164
  - 1165
  - 1168
  - 1169
  - 1170
  - 1172
  - 1173
  - 1174
  - 1175
  - 1177
  - 1178
  - 1179
  - 1180
  - 1181
  - 1182
  - 1118
  lxml.html._element_name:
  - 936
  - 931
  - 933
  lxml.html._html5builder:
  - 1
  lxml.html._html5builder.Document.appendChild:
  - 29
  lxml.html._html5builder.TreeBuilder.__init__:
  - 40
  - 41
  - 44
  lxml.html._html5builder.TreeBuilder.getFragment:
  - 58
  - 59
  - 60
  - 61
  - 62
  lxml.html._html5builder.TreeBuilder.insertComment:
  - 73
  - 70
  - 71
  lxml.html._html5builder.TreeBuilder.insertDoctype:
  - 66
  lxml.html._html5builder.TreeBuilder.insertRoot:
  - 97
  - 98
  - 77
  - 78
  - 79
  - 80
  - 82
  - 83
  - 84
  - 87
  - 88
  - 91
  - 92
  - 95
  lxml.html._html5builder.TreeBuilder.reset:
  - 47
  lxml.html._nons:
  - 104
  - 102
  - 103
  lxml.html._setmixin.SetMixin:
  - 9
  lxml.html._setmixin.SetMixin.__contains__:
  - 20
  - 21
  lxml.html._setmixin.SetMixin.__len__:
  - 15
  lxml.html._setmixin.SetMixin._from_iterable:
  - 56
  lxml.html._setmixin.SetMixin.copy:
  - 34
  lxml.html._setmixin.SetMixin.discard:
  - 50
  lxml.html._transform_result:
  - 96
  - 91
  - 93
  - 94
  - 95
  lxml.html._unquote_match:
  - 84
  lxml.html.builder:
  - 67
  - 35
  - 6
  lxml.html.clean:
  - 3
  lxml.html.defs:
  - 129
  - 5
  - 133
  - 137
  - 11
  - 15
  - 146
  - 20
  - 32
  - 40
  - 69
  - 73
  - 77
  - 97
  - 101
  - 108
  - 113
  - 118
  - 124
  lxml.html.diff:
  - 65
  - 769
  - 801
  - 38
  - 647
  - 648
  - 649
  - 970
  - 812
  - 13
  - 972
  - 18
  - 756
  - 727
  - 24
  - 729
  - 318
  lxml.html.diff.InsensitiveSequenceMatcher:
  - 952
  lxml.html.diff.InsensitiveSequenceMatcher.get_matching_blocks:
  - 961
  - 963
  - 964
  lxml.html.diff._contains_block_level_tag:
  - 882
  - 884
  lxml.html.diff._fixup_ins_del_tags:
  - 870
  - 872
  - 873
  - 875
  - 876
  lxml.html.diff._merge_element_contents:
  - 931
  - 934
  - 935
  - 939
  - 940
  - 941
  - 942
  - 946
  - 926
  lxml.html.diff._move_el_inside_block:
  - 906
  - 907
  - 908
  - 909
  - 910
  - 913
  - 915
  - 916
  - 917
  - 918
  - 919
  - 922
  - 891
  - 894
  - 895
  lxml.html.diff.cleanup_delete:
  - 385
  - 386
  - 389
  - 390
  - 391
  - 394
  - 397
  - 398
  - 402
  - 410
  - 411
  - 414
  - 415
  - 416
  - 419
  - 422
  - 423
  - 426
  - 432
  - 456
  - 459
  - 465
  - 468
  - 344
  - 474
  - 353
  - 372
  - 377
  - 381
  lxml.html.diff.cleanup_html:
  - 652
  - 655
  - 656
  - 657
  - 658
  - 659
  - 660
  - 661
  lxml.html.diff.compress_merge_back:
  - 162
  - 163
  - 166
  - 159
  lxml.html.diff.compress_tokens:
  - 143
  - 148
  - 149
  - 152
  - 154
  lxml.html.diff.copy_annotations:
  - 138
  - 139
  - 135
  lxml.html.diff.default_markup:
  - 71
  lxml.html.diff.end_tag:
  - 825
  - 828
  lxml.html.diff.expand_tokens:
  - 259
  - 262
  - 263
  - 264
  - 265
  - 266
  lxml.html.diff.fixup_chunks:
  - 674
  - 680
  - 681
  - 682
  - 684
  - 685
  - 689
  - 691
  - 693
  - 695
  - 698
  - 699
  - 700
  - 702
  - 704
  - 705
  - 707
  - 708
  - 709
  - 714
  - 718
  - 719
  - 721
  lxml.html.diff.fixup_ins_del_tags:
  - 841
  - 844
  - 845
  - 846
  lxml.html.diff.flatten_el:
  - 775
  - 781
  - 782
  - 783
  - 785
  - 786
  - 788
  - 789
  - 790
  - 791
  - 792
  - 793
  - 794
  - 795
  - 796
  - 797
  - 798
  - 799
  lxml.html.diff.href_token:
  - 599
  lxml.html.diff.html_annotate:
  - 99
  - 102
  - 103
  - 74
  - 108
  - 110
  - 111
  lxml.html.diff.html_annotate_merge_annotations:
  - 128
  - 129
  - 132
  - 122
  - 125
  - 126
  lxml.html.diff.html_escape:
  - 59
  - 58
  - 51
  - 60
  lxml.html.diff.htmldiff:
  - 193
  - 207
  - 208
  - 209
  - 211
  - 213
  - 215
  lxml.html.diff.htmldiff_tokens:
  - 235
  - 236
  - 238
  - 239
  - 240
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  - 219
  - 253
  lxml.html.diff.is_end_tag:
  - 835
  lxml.html.diff.is_start_tag:
  - 838
  lxml.html.diff.is_word:
  - 832
  lxml.html.diff.mark_unbalanced:
  - 514
  - 515
  - 518
  - 520
  - 523
  - 528
  - 529
  - 530
  - 490
  - 491
  - 492
  - 495
  - 496
  - 497
  - 500
  - 503
  - 504
  - 506
  - 507
  - 508
  lxml.html.diff.markup_serialize_tokens:
  - 174
  - 178
  - 179
  - 180
  - 181
  - 182
  - 183
  lxml.html.diff.merge_delete:
  - 338
  - 339
  - 340
  - 334
  lxml.html.diff.merge_insert:
  - 288
  - 289
  - 290
  - 293
  - 296
  - 270
  - 282
  - 284
  - 285
  lxml.html.diff.parse_html:
  - 641
  - 634
  - 643
  - 644
  lxml.html.diff.serialize_html_fragment:
  - 850
  - 855
  - 857
  - 858
  - 860
  - 862
  - 863
  lxml.html.diff.split_trailing_whitespace:
  - 666
  - 669
  lxml.html.diff.split_words:
  - 809
  - 804
  - 806
  lxml.html.diff.start_tag:
  - 818
  - 819
  - 820
  - 815
  lxml.html.diff.tag_name_of_chunk:
  - 321
  - 304
  - 308
  - 309
  - 311
  - 313
  lxml.html.diff.tag_token:
  - 571
  lxml.html.diff.tag_token.__new__:
  - 577
  lxml.html.diff.token:
  - 537
  lxml.html.diff.token.__new__:
  - 554
  lxml.html.diff.token.__repr__:
  - 564
  lxml.html.diff.token.html:
  - 567
  lxml.html.diff.tokenize:
  - 609
  - 623
  - 626
  - 628
  - 630
  lxml.html.diff.tokenize_annotated:
  - 114
  - 116
  - 117
  lxml.html.document_fromstring:
  - 738
  - 740
  - 741
  - 744
  - 745
  - 746
  - 747
  lxml.html.formfill:
  - 228
  - 8
  - 22
  - 23
  - 25
  - 27
  lxml.html.formfill.DefaultErrorCreator.__call__:
  - 226
  - 198
  - 199
  - 200
  - 201
  - 202
  - 203
  - 205
  - 206
  - 208
  - 211
  - 212
  - 215
  - 217
  - 219
  - 220
  - 221
  - 222
  lxml.html.formfill.DefaultErrorCreator.__init__:
  - 192
  - 195
  - 191
  lxml.html.formfill.FormNotFound:
  - 18
  lxml.html.formfill._add_class:
  - 272
  - 273
  - 275
  lxml.html.formfill._check:
  - 115
  - 116
  - 118
  lxml.html.formfill._fill_form:
  - 65
  - 68
  - 73
  - 75
  - 49
  - 51
  - 52
  - 53
  - 54
  - 55
  - 57
  - 58
  - 59
  - 61
  - 62
  lxml.html.formfill._fill_multiple:
  - 98
  - 100
  - 101
  - 102
  - 103
  - 105
  - 106
  - 107
  - 108
  - 111
  - 112
  - 87
  - 88
  - 89
  - 90
  - 91
  - 95
  lxml.html.formfill._fill_single:
  - 129
  - 132
  lxml.html.formfill._find_elements_for_name:
  - 288
  - 289
  - 292
  - 293
  - 296
  - 297
  - 299
  - 278
  - 280
  - 282
  - 284
  - 285
  - 286
  lxml.html.formfill._find_form:
  - 135
  - 136
  - 137
  - 141
  - 142
  - 143
  - 145
  - 146
  - 152
  - 153
  lxml.html.formfill._find_form_ids:
  - 162
  - 163
  - 164
  - 166
  - 167
  - 168
  - 169
  - 170
  - 172
  - 173
  - 174
  - 176
  lxml.html.formfill._insert_error:
  - 258
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  lxml.html.formfill._select:
  - 122
  - 123
  - 125
  lxml.html.formfill._takes_multiple:
  - 81
  - 82
  - 78
  lxml.html.formfill.fill_form:
  - 35
  - 36
  lxml.html.formfill.fill_form_html:
  - 39
  - 40
  - 41
  - 43
  - 44
  - 45
  lxml.html.formfill.insert_errors:
  - 239
  - 240
  - 241
  - 243
  - 244
  - 246
  lxml.html.formfill.insert_errors_html:
  - 249
  - 250
  - 251
  - 253
  - 254
  - 255
  lxml.html.fragment_fromstring:
  - 832
  - 805
  - 808
  - 810
  - 814
  - 815
  - 817
  - 818
  - 819
  - 822
  - 792
  - 825
  - 827
  lxml.html.fragments_fromstring:
  - 771
  - 773
  - 774
  - 775
  - 776
  - 779
  - 782
  - 783
  - 784
  - 753
  - 762
  - 765
  - 766
  lxml.html.fromstring:
  - 900
  - 840
  - 848
  - 850
  - 851
  - 853
  - 854
  - 855
  - 858
  - 859
  - 860
  - 861
  - 863
  - 866
  - 867
  - 868
  - 872
  - 875
  - 878
  - 879
  - 880
  - 881
  - 884
  - 885
  - 886
  - 888
  - 890
  - 892
  - 893
  lxml.html.html5parser:
  - 1
  - 260
  - 45
  lxml.html.html5parser.HTMLParser:
  - 28
  lxml.html.html5parser.HTMLParser.__init__:
  - 31
  lxml.html.html5parser.XHTMLParser:
  - 40
  lxml.html.html5parser.XHTMLParser.__init__:
  - 43
  lxml.html.html5parser._find_tag:
  - 49
  - 50
  - 52
  lxml.html.html5parser._looks_like_url:
  - 248
  - 249
  - 251
  - 253
  lxml.html.html5parser.document_fromstring:
  - 66
  - 70
  - 74
  - 76
  - 56
  - 63
  lxml.html.html5parser.fragment_fromstring:
  - 129
  - 131
  - 135
  - 136
  - 138
  - 139
  - 140
  - 143
  - 146
  - 115
  - 148
  - 151
  - 126
  lxml.html.html5parser.fragments_fromstring:
  - 97
  - 101
  - 103
  - 104
  - 105
  - 106
  - 81
  - 90
  - 93
  lxml.html.html5parser.fromstring:
  - 193
  - 197
  - 198
  - 170
  - 172
  - 204
  - 177
  - 181
  - 183
  - 184
  - 187
  - 190
  - 158
  lxml.html.html5parser.parse:
  - 224
  - 226
  - 229
  - 230
  - 231
  - 235
  - 236
  - 242
  - 212
  - 244
  - 222
  lxml.html.html_to_xhtml:
  - 1754
  - 1746
  - 1756
  - 1750
  lxml.html.open_http_urllib:
  - 1120
  - 1101
  - 1109
  - 1110
  - 1114
  - 1117
  - 1118
  - 1119
  lxml.html.open_in_browser:
  - 1860
  - 1868
  - 1869
  - 1870
  - 1871
  - 1873
  - 1876
  - 1877
  - 1878
  - 1879
  lxml.html.parse:
  - 916
  - 908
  - 918
  lxml.html.soupparser:
  - 1
  - 299
  - 295
  - 87
  lxml.html.soupparser._PseudoTag.__iter__:
  - 102
  lxml.html.soupparser._convert_tree:
  - 132
  - 141
  - 143
  - 147
  - 149
  - 152
  - 154
  - 155
  - 156
  - 157
  - 162
  - 163
  - 164
  - 165
  - 168
  - 171
  - 175
  - 176
  - 181
  - 182
  - 106
  - 117
  - 118
  - 119
  - 122
  - 124
  lxml.html.soupparser._init_node_converters:
  - 267
  - 260
  - 237
  - 278
  lxml.html.soupparser._init_node_converters.append_text:
  - 230
  lxml.html.soupparser._init_node_converters.convert_comment:
  - 264
  - 262
  - 263
  lxml.html.soupparser._init_node_converters.convert_node:
  - 216
  - 211
  - 213
  - 214
  lxml.html.soupparser._init_node_converters.convert_pi:
  - 273
  - 274
  - 275
  - 269
  lxml.html.soupparser._init_node_converters.convert_tag:
  - 257
  - 240
  - 241
  - 242
  - 244
  - 245
  - 247
  - 250
  - 254
  - 255
  lxml.html.soupparser._init_node_converters.convert_text:
  - 280
  - 281
  lxml.html.soupparser._init_node_converters.converter.add:
  - 196
  - 198
  lxml.html.soupparser._init_node_converters.find_best_converter:
  - 203
  - 204
  lxml.html.soupparser._init_node_converters.map_attrs:
  - 224
  - 226
  - 219
  - 221
  - 222
  - 223
  lxml.html.soupparser._parse:
  - 70
  - 72
  - 73
  - 75
  - 76
  - 78
  - 79
  - 81
  lxml.html.soupparser.convert_tree:
  - 52
  - 60
  - 61
  - 62
  - 63
  lxml.html.soupparser.fromstring:
  - 33
  - 22
  lxml.html.soupparser.parse:
  - 37
  - 45
  - 46
  - 47
  - 48
  lxml.html.soupparser.unescape:
  - 306
  - 314
  lxml.html.soupparser.unescape.unescape_entity:
  - 313
  - 311
  lxml.html.submit_form:
  - 1088
  - 1089
  - 1090
  - 1091
  - 1093
  - 1063
  - 1097
  - 1086
  - 1087
  lxml.html.tostring:
  - 1848
  - 1845
  - 1784
  - 1849
  - 1850
  - 1852
  lxml.html.usedoctest:
  - 1
  - 13
  lxml.html.xhtml_to_html:
  - 1761
  - 1770
  - 1769
  - 1765
  lxml.isoschematron:
  - 1
  - 67
  - 68
  - 41
  - 12
  - 45
  - 46
  - 47
  - 48
  - 17
  - 49
  - 50
  - 52
  - 53
  - 55
  - 56
  - 61
  lxml.isoschematron.Schematron:
  - 215
  - 119
  lxml.isoschematron.Schematron.__call__:
  - 321
  - 324
  - 305
  - 309
  - 310
  - 311
  - 313
  - 314
  - 315
  - 316
  - 319
  lxml.isoschematron.Schematron.__init__:
  - 258
  - 265
  - 266
  - 269
  - 270
  - 271
  - 275
  - 277
  - 280
  - 281
  - 286
  - 287
  - 288
  - 289
  - 290
  - 294
  - 298
  - 299
  - 300
  - 302
  - 252
  lxml.isoschematron.Schematron._extract:
  - 226
  - 227
  - 228
  - 230
  - 220
  lxml.isoschematron.Schematron.schematron:
  - 331
  lxml.isoschematron.Schematron.validation_report:
  - 345
  lxml.isoschematron.Schematron.validator_xslt:
  - 338
  lxml.isoschematron._stylesheet_param_dict:
  - 105
  - 110
  - 111
  - 112
  - 114
  lxml.isoschematron.stylesheet_params:
  - 97
  - 98
  - 77
  - 92
  - 93
  - 94
  - 95
  lxml.sax:
  - 1
  lxml.sax.ElementTreeContentHandler:
  - 40
  - 58
  lxml.sax.ElementTreeContentHandler.__class_getitem__:
  - 163
  lxml.sax.ElementTreeContentHandler.__init__:
  - 50
  - 43
  lxml.sax.ElementTreeContentHandler._buildTag:
  - 88
  - 86
  lxml.sax.ElementTreeContentHandler._get_etree:
  - 56
  - 55
  lxml.sax.ElementTreeContentHandler.endElement:
  - 146
  lxml.sax.ElementTreeContentHandler.endElementNS:
  - 136
  - 137
  - 135
  lxml.sax.ElementTreeContentHandler.endPrefixMapping:
  - 80
  - 81
  lxml.sax.ElementTreeContentHandler.processingInstruction:
  - 128
  - 129
  - 130
  - 132
  lxml.sax.ElementTreeContentHandler.startElement:
  - 141
  - 142
  - 143
  lxml.sax.ElementTreeContentHandler.startElementNS:
  - 96
  - 99
  - 101
  - 103
  - 104
  - 113
  - 115
  - 116
  - 117
  - 118
  - 121
  - 123
  - 125
  - 95
  lxml.sax.ElementTreeContentHandler.startPrefixMapping:
  - 72
  - 75
  lxml.sax.ElementTreeProducer:
  - 167
  lxml.sax.ElementTreeProducer.__init__:
  - 178
  - 171
  lxml.sax.ElementTreeProducer._build_qname:
  - 258
  - 261
  - 266
  - 270
  - 271
  - 275
  lxml.sax.ElementTreeProducer._recursive_saxify:
  - 206
  - 207
  - 208
  - 211
  - 212
  - 217
  - 219
  - 220
  - 221
  - 223
  - 224
  - 227
  - 228
  - 230
  - 233
  - 237
  - 238
  - 241
  - 242
  - 243
  - 246
  - 247
  - 248
  - 249
  - 250
  - 251
  - 252
  - 254
  - 255
  lxml.sax.ElementTreeProducer.saxify:
  - 193
  - 195
  - 196
  - 197
  - 198
  - 199
  - 201
  - 181
  - 184
  - 186
  - 187
  - 188
  - 189
  - 190
  - 191
  lxml.sax.SaxError:
  - 28
  lxml.sax._getNsTag:
  - 33
  - 34
  lxml.sax.saxify:
  - 282
  - 285
  lxml.usedoctest:
  - 1
  - 13
Fuzzer filename: /src/fuzz_schematron.py
Inheritance:
  lxml.ElementInclude.FatalIncludeError: []
  lxml.ElementInclude.LimitedRecursiveIncludeError:
  - FatalIncludeError
  lxml.builder.ElementMaker: []
  lxml.cssselect.CSSSelector: []
  lxml.cssselect.LxmlHTMLTranslator:
  - LxmlTranslator
  lxml.cssselect.LxmlTranslator: []
  lxml.doctestcompare.LHTMLOutputChecker:
  - LXMLOutputChecker
  lxml.doctestcompare.LXMLOutputChecker:
  - OutputChecker
  lxml.doctestcompare._RestoreChecker: []
  lxml.html.CheckboxGroup:
  - list
  lxml.html.CheckboxValues:
  - SetMixin
  lxml.html.Classes:
  - MutableSet
  lxml.html.FieldsDict:
  - MutableMapping
  lxml.html.FormElement:
  - HtmlElement
  lxml.html.HTMLParser: []
  lxml.html.HtmlComment:
  - HtmlMixin
  lxml.html.HtmlElement:
  - HtmlMixin
  lxml.html.HtmlElementClassLookup: []
  lxml.html.HtmlEntity:
  - HtmlMixin
  lxml.html.HtmlMixin: []
  lxml.html.HtmlProcessingInstruction:
  - HtmlMixin
  lxml.html.InputElement:
  - InputMixin
  - HtmlElement
  lxml.html.InputGetter: []
  lxml.html.InputMixin: []
  lxml.html.LabelElement:
  - HtmlElement
  lxml.html.MultipleSelectOptions:
  - SetMixin
  lxml.html.RadioGroup:
  - list
  lxml.html.SelectElement:
  - InputMixin
  - HtmlElement
  lxml.html.TextareaElement:
  - InputMixin
  - HtmlElement
  lxml.html.XHTMLParser: []
  lxml.html._MethodFunc: []
  lxml.html._difflib.Differ: []
  lxml.html._difflib.HtmlDiff:
  - object
  lxml.html._difflib.SequenceMatcher: []
  lxml.html._difflib.fake_cython: []
  lxml.html._html5builder.Document: []
  lxml.html._html5builder.DocumentType: []
  lxml.html._html5builder.TreeBuilder: []
  lxml.html._setmixin.SetMixin:
  - MutableSet
  lxml.html.diff.DEL_END: []
  lxml.html.diff.DEL_START: []
  lxml.html.diff.InsensitiveSequenceMatcher:
  - SequenceMatcher
  lxml.html.diff.fake_cython: []
  lxml.html.diff.href_token:
  - token
  lxml.html.diff.tag_token:
  - token
  lxml.html.diff.token:
  - str
  lxml.html.formfill.DefaultErrorCreator: []
  lxml.html.formfill.FormNotFound:
  - LookupError
  lxml.html.html5parser.HTMLParser:
  - _HTMLParser
  lxml.html.html5parser.XHTMLParser:
  - _XHTMLParser
  lxml.html.soupparser._PseudoTag: []
  lxml.isoschematron.Schematron: []
  lxml.sax.ElementTreeContentHandler:
  - ContentHandler
  lxml.sax.ElementTreeProducer: []
  lxml.sax.SaxError: []
ep:
  func_name: TestOneInput
  module: '...fuzz_schematron'
