All classes:
- packaging.specifiers.InvalidSpecifier
- packaging.specifiers.BaseSpecifier
- packaging.specifiers.Specifier
- packaging.specifiers.SpecifierSet
- packaging._manylinux._GLibCVersion
- packaging._tokenizer.Token
- packaging._tokenizer.ParserSyntaxError
- packaging._tokenizer.Tokenizer
- packaging.requirements.InvalidRequirement
- packaging.requirements.Requirement
- packaging._structures.InfinityType
- packaging._structures.NegativeInfinityType
- packaging._musllinux._MuslVersion
- packaging.markers.InvalidMarker
- packaging.markers.UndefinedComparison
- packaging.markers.UndefinedEnvironmentName
- packaging.markers.Environment
- packaging.markers.Marker
- packaging.tags.Tag
- packaging.version._Version
- packaging.version.InvalidVersion
- packaging.version._BaseVersion
- packaging.version.Version
- packaging.version._TrimmedRelease
- packaging.metadata.ExceptionGroup
- packaging.metadata.InvalidMetadata
- packaging.metadata.RawMetadata
- packaging.metadata._Validator
- packaging.metadata.Metadata
- packaging._parser.Node
- packaging._parser.Variable
- packaging._parser.Value
- packaging._parser.Op
- packaging._parser.ParsedRequirement
- packaging._elffile.ELFInvalid
- packaging._elffile.EIClass
- packaging._elffile.EIData
- packaging._elffile.EMachine
- packaging._elffile.ELFFile
- packaging.utils.InvalidName
- packaging.utils.InvalidWheelFilename
- packaging.utils.InvalidSdistFilename
- packaging.licenses._spdx.SPDXLicense
- packaging.licenses._spdx.SPDXException
- packaging.licenses.InvalidLicenseExpression
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_packaging'
    functionSourceFile: '...fuzz_packaging'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - atheris.Fuzz
    - '...fuzz_packaging.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 27
    functionName: '...fuzz_packaging.fuzz_utils'
    functionSourceFile: '...fuzz_packaging'
    functionUses: 1
    functionsReached:
    - filename.count
    - interpreters.split
    - <builtin>.tuple
    - build_match.group
    - <builtin>.set
    - file_stem.rpartition
    - <builtin>.len
    - typing.cast
    - tag.split
    - fdp.ConsumeIntInRange
    - atheris.FuzzedDataProvider
    - abis.split
    - <builtin>.int
    - packaging.utils.parse_sdist_filename
    - packaging.version._cmpkey
    - <builtin>.reversed
    - <builtin>.frozenset
    - <builtin>.isinstance
    - <builtin>.hash
    - re.match
    - packaging.tags.parse_tag
    - part.lower
    - match.group
    - _canonicalize_regex.sub
    - platform.lower
    - typing.NamedTuple.__init__
    - <builtin>.str
    - packaging.version._parse_local_version
    - platforms.split
    - interpreter.lower
    - packaging.utils.canonicalize_version
    - itertools.dropwhile
    - part.isdigit
    - packaging.version._parse_letter_version
    - _build_tag_regex.match
    - tags.add
    - filename.endswith
    - _local_version_separators.split
    - _validate_regex.match
    - letter.lower
    - abi.lower
    - packaging.utils.parse_wheel_filename
    - filename.split
    - <builtin>.list
    - fdp.ConsumeUnicodeNoSurrogates
    - packaging.version.Version.__init__
    - packaging.tags.Tag.__init__
    - packaging.utils.canonicalize_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.FuzzedDataProvider
    functionSourceFile: atheris
    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: fdp.ConsumeIntInRange
    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: fdp.ConsumeUnicodeNoSurrogates
    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:
    - version
    - strip_trailing_zero
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 59
    functionName: packaging.utils.canonicalize_version
    functionSourceFile: packaging
    functionUses: 3
    functionsReached:
    - _local_version_separators.split
    - <builtin>.int
    - letter.lower
    - <builtin>.tuple
    - match.group
    - typing.NamedTuple.__init__
    - <builtin>.str
    - packaging.version._cmpkey
    - <builtin>.list
    - <builtin>.reversed
    - packaging.version._parse_local_version
    - <builtin>.isinstance
    - itertools.dropwhile
    - part.isdigit
    - part.lower
    - packaging.version._parse_letter_version
    - packaging.version.Version.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 137
    functionName: packaging.utils.parse_sdist_filename
    functionSourceFile: packaging
    functionUses: 2
    functionsReached:
    - <builtin>.tuple
    - file_stem.rpartition
    - <builtin>.len
    - typing.cast
    - <builtin>.int
    - packaging.version._cmpkey
    - <builtin>.reversed
    - part.lower
    - match.group
    - _canonicalize_regex.sub
    - typing.NamedTuple.__init__
    - packaging.version._parse_local_version
    - itertools.dropwhile
    - part.isdigit
    - packaging.version._parse_letter_version
    - packaging.version.Version.__init__
    - filename.endswith
    - _local_version_separators.split
    - _validate_regex.match
    - letter.lower
    - <builtin>.list
    - <builtin>.isinstance
    - packaging.utils.canonicalize_name
    linkageType: pythonLinkage
    raised:
    - InvalidSdistFilename
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 94
    functionName: packaging.utils.parse_wheel_filename
    functionSourceFile: packaging
    functionUses: 2
    functionsReached:
    - filename.count
    - interpreters.split
    - <builtin>.tuple
    - build_match.group
    - <builtin>.set
    - typing.cast
    - tag.split
    - abis.split
    - <builtin>.int
    - packaging.version._cmpkey
    - <builtin>.reversed
    - <builtin>.frozenset
    - <builtin>.isinstance
    - <builtin>.hash
    - re.match
    - packaging.tags.parse_tag
    - part.lower
    - match.group
    - _canonicalize_regex.sub
    - platform.lower
    - typing.NamedTuple.__init__
    - packaging.version._parse_local_version
    - platforms.split
    - interpreter.lower
    - itertools.dropwhile
    - part.isdigit
    - packaging.version._parse_letter_version
    - _build_tag_regex.match
    - tags.add
    - filename.endswith
    - _local_version_separators.split
    - _validate_regex.match
    - letter.lower
    - abi.lower
    - filename.split
    - <builtin>.list
    - packaging.version.Version.__init__
    - packaging.tags.Tag.__init__
    - packaging.utils.canonicalize_name
    linkageType: pythonLinkage
    raised:
    - InvalidWheelFilename
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 45
    functionName: '...fuzz_packaging.fuzz_specifier'
    functionSourceFile: '...fuzz_packaging'
    functionUses: 1
    functionsReached:
    - match.group
    - fdp.ConsumeUnicodeNoSurrogates
    - version.Version
    - fdp.ConsumeIntInRange
    - packaging.specifiers.Specifier.__init__
    - atheris.FuzzedDataProvider
    - packaging.specifiers.Specifier.contains
    - <builtin>.isinstance
    - packaging.specifiers._coerce_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c52df10>
    - <ast.Constant object at 0x7fce5c52d220>
    argNames:
    - self
    - spec
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: packaging.specifiers.Specifier.__init__
    functionSourceFile: packaging.specifiers
    functionUses: 2
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised:
    - InvalidSpecifier
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c3dfbb0>
    argNames:
    - self
    - item
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 521
    functionName: packaging.specifiers.Specifier.contains
    functionSourceFile: packaging.specifiers
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - packaging.specifiers._coerce_version
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 64
    functionName: '...fuzz_packaging.TestOneInput'
    functionSourceFile: '...fuzz_packaging'
    functionUses: 0
    functionsReached:
    - filename.count
    - interpreters.split
    - <builtin>.tuple
    - build_match.group
    - <builtin>.set
    - file_stem.rpartition
    - '...fuzz_packaging.fuzz_utils'
    - <builtin>.len
    - typing.cast
    - tag.split
    - fdp.ConsumeIntInRange
    - packaging.specifiers.Specifier.__init__
    - atheris.FuzzedDataProvider
    - abis.split
    - packaging.specifiers._coerce_version
    - <builtin>.int
    - packaging.utils.parse_sdist_filename
    - packaging.version._cmpkey
    - <builtin>.reversed
    - <builtin>.frozenset
    - <builtin>.hash
    - '...fuzz_packaging.fuzz_specifier'
    - re.match
    - packaging.tags.parse_tag
    - part.lower
    - match.group
    - _canonicalize_regex.sub
    - platform.lower
    - typing.NamedTuple.__init__
    - <builtin>.str
    - packaging.version._parse_local_version
    - version.Version
    - platforms.split
    - interpreter.lower
    - packaging.utils.canonicalize_version
    - itertools.dropwhile
    - part.isdigit
    - packaging.specifiers.Specifier.contains
    - packaging.version._parse_letter_version
    - _build_tag_regex.match
    - packaging.version.Version.__init__
    - tags.add
    - filename.endswith
    - _local_version_separators.split
    - _validate_regex.match
    - letter.lower
    - abi.lower
    - packaging.utils.parse_wheel_filename
    - filename.split
    - <builtin>.list
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.isinstance
    - packaging.tags.Tag.__init__
    - packaging.utils.canonicalize_name
    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: 70
    functionName: '...fuzz_packaging.main'
    functionSourceFile: '...fuzz_packaging'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - 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.instrument_all
    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.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: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: packaging.specifiers
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - 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: typing.TypeVar
    functionSourceFile: typing
    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:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: packaging.specifiers._coerce_version
    functionSourceFile: packaging.specifiers
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: version.Version
    functionSourceFile: version
    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: 1
    functionLinenumber: -1
    functionName: packaging.specifiers.BaseSpecifier
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    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: 0
    functionLinenumber: 46
    functionName: packaging.specifiers.BaseSpecifier.__str__
    functionSourceFile: packaging.specifiers
    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: 53
    functionName: packaging.specifiers.BaseSpecifier.__hash__
    functionSourceFile: packaging.specifiers
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: packaging.specifiers.BaseSpecifier.__eq__
    functionSourceFile: packaging.specifiers
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: packaging.specifiers.BaseSpecifier.prereleases
    functionSourceFile: packaging.specifiers
    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 0x7fce5b511040>
    argNames:
    - self
    - item
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: packaging.specifiers.BaseSpecifier.contains
    functionSourceFile: packaging.specifiers
    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 0x7fce5c618ee0>
    argNames:
    - self
    - iterable
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: packaging.specifiers.BaseSpecifier.filter
    functionSourceFile: packaging.specifiers
    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: re.compile
    functionSourceFile: re
    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: 1
    functionLinenumber: -1
    functionName: packaging.specifiers.Specifier
    functionSourceFile: packaging.specifiers
    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: match.group
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: packaging.specifiers.Specifier.prereleases
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - version.Version.endswith
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: version.Version.endswith
    functionSourceFile: version
    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: 277
    functionName: packaging.specifiers.Specifier.operator
    functionSourceFile: packaging.specifiers
    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: 286
    functionName: packaging.specifiers.Specifier.version
    functionSourceFile: packaging.specifiers
    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: 1
    functionLinenumber: 294
    functionName: packaging.specifiers.Specifier.__repr__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <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: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 40
    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: 312
    functionName: packaging.specifiers.Specifier.__str__
    functionSourceFile: packaging.specifiers
    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: 323
    functionName: packaging.specifiers.Specifier._canonical_spec
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - utils.canonicalize_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: utils.canonicalize_version
    functionSourceFile: utils
    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: 330
    functionName: packaging.specifiers.Specifier.__hash__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.hash
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 333
    functionName: packaging.specifiers.Specifier.__eq__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - op
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: packaging.specifiers.Specifier._get_operator
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 368
    functionName: packaging.specifiers.Specifier._compare_compatible
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - match.groups
    - result.append
    - <builtin>.list
    - packaging.specifiers._version_split
    - itertools.takewhile
    - result.extend
    - rest.split
    - utils.canonicalize_version.rpartition
    - _prefix_regex.search
    - packaging.specifiers._version_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 630
    functionName: packaging.specifiers._version_split
    functionSourceFile: packaging.specifiers
    functionUses: 2
    functionsReached:
    - match.groups
    - result.append
    - result.extend
    - rest.split
    - utils.canonicalize_version.rpartition
    - _prefix_regex.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.takewhile
    functionSourceFile: itertools
    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>.list
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - components
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 652
    functionName: packaging.specifiers._version_join
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: packaging.specifiers.Specifier._compare_equal
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - match.groups
    - packaging.specifiers._pad_version
    - <builtin>.len
    - itertools.takewhile
    - result.extend
    - spec.endswith
    - _prefix_regex.search
    - left_split.insert
    - utils.canonicalize_version
    - <builtin>.max
    - left_split.append
    - packaging.specifiers._version_split
    - version.Version
    - right_split.append
    - rest.split
    - utils.canonicalize_version.rpartition
    - right_split.insert
    - result.append
    - <builtin>.list
    - itertools.chain.from_iterable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - left
    - right
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 669
    functionName: packaging.specifiers._pad_version
    functionSourceFile: packaging.specifiers
    functionUses: 1
    functionsReached:
    - right_split.insert
    - left_split.append
    - <builtin>.list
    - <builtin>.len
    - right_split.append
    - itertools.takewhile
    - itertools.chain.from_iterable
    - <builtin>.max
    - left_split.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: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 428
    functionName: packaging.specifiers.Specifier._compare_not_equal
    functionSourceFile: packaging.specifiers
    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
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 431
    functionName: packaging.specifiers.Specifier._compare_less_than_equal
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 437
    functionName: packaging.specifiers.Specifier._compare_greater_than_equal
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec_str
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 443
    functionName: packaging.specifiers.Specifier._compare_less_than
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec_str
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 467
    functionName: packaging.specifiers.Specifier._compare_greater_than
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prospective
    - spec
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 497
    functionName: packaging.specifiers.Specifier._compare_arbitrary
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 0
    functionLinenumber: 500
    functionName: packaging.specifiers.Specifier.__contains__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c5f8940>
    argNames:
    - self
    - iterable
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 565
    functionName: packaging.specifiers.Specifier.filter
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - packaging.specifiers._coerce_version
    - found_prereleases.append
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found_prereleases.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: utils.canonicalize_version.rpartition
    functionSourceFile: utils
    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: result.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: rest.split
    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: _prefix_regex.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.groups
    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: result.extend
    functionSourceFile: <builtin>
    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:
    - segment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 663
    functionName: packaging.specifiers._is_not_suffix
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - segment.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: segment.startswith
    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>.any
    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: 1
    functionLinenumber: -1
    functionName: packaging.specifiers._pad_version.<lambda1>
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.isdigit
    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: left_split.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: 1
    functionLinenumber: -1
    functionName: packaging.specifiers._pad_version.<lambda2>
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: right_split.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: <builtin>.max
    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: left_split.insert
    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: right_split.insert
    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: itertools.chain.from_iterable
    functionSourceFile: itertools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c3393d0>
    - <ast.Constant object at 0x7fce5c339af0>
    argNames:
    - self
    - specifiers
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 697
    functionName: packaging.specifiers.SpecifierSet.__init__
    functionSourceFile: packaging.specifiers
    functionUses: 2
    functionsReached:
    - specifiers.split
    - s.strip
    - <builtin>.frozenset
    - <builtin>.isinstance
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: specifiers.split
    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>.map
    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: <builtin>.frozenset
    functionSourceFile: <builtin>
    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:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 753
    functionName: packaging.specifiers.SpecifierSet.prereleases
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.any
    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: 756
    functionName: packaging.specifiers.SpecifierSet.__repr__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 777
    functionName: packaging.specifiers.SpecifierSet.__str__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 790
    functionName: packaging.specifiers.SpecifierSet.__hash__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 793
    functionName: packaging.specifiers.SpecifierSet.__and__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - specifiers.split
    - s.strip
    - <builtin>.frozenset
    - packaging.specifiers.SpecifierSet.__init__
    - <builtin>.isinstance
    - <builtin>.map
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 825
    functionName: packaging.specifiers.SpecifierSet.__eq__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - specifiers.split
    - s.strip
    - <builtin>.str
    - <builtin>.frozenset
    - packaging.specifiers.SpecifierSet.__init__
    - <builtin>.isinstance
    - <builtin>.map
    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: 851
    functionName: packaging.specifiers.SpecifierSet.__len__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <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: 855
    functionName: packaging.specifiers.SpecifierSet.__iter__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.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: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 2
    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: 865
    functionName: packaging.specifiers.SpecifierSet.__contains__
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - version.Version
    - packaging.specifiers.SpecifierSet.contains
    - s.contains
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fce5cc1afd0>
    - <ast.Constant object at 0x7fce5cc1acd0>
    argNames:
    - self
    - item
    - prereleases
    - installed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 886
    functionName: packaging.specifiers.SpecifierSet.contains
    functionSourceFile: packaging.specifiers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - s.contains
    - <builtin>.all
    - version.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.contains
    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>.all
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5bf1c9d0>
    argNames:
    - self
    - iterable
    - prereleases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 943
    functionName: packaging.specifiers.SpecifierSet.filter
    functionSourceFile: packaging.specifiers
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - filtered.append
    - version.Version
    - found_prereleases.append
    - <builtin>.iter
    - <builtin>.isinstance
    - packaging.specifiers._coerce_version
    - spec.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: spec.filter
    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: filtered.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: packaging.utils
    functionSourceFile: packaging.utils
    functionUses: 0
    functionsReached:
    - functools.singledispatch
    - packaging.utils.canonicalize_version.register
    - re.compile
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NewType
    functionSourceFile: typing
    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:
    - name
    - validate
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: packaging.utils.canonicalize_name
    functionSourceFile: packaging.utils
    functionUses: 4
    functionsReached:
    - typing.cast
    - _validate_regex.match
    - _canonicalize_regex.sub
    linkageType: pythonLinkage
    raised:
    - InvalidName
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _validate_regex.match
    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: _canonicalize_regex.sub
    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: typing.cast
    functionSourceFile: typing
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: packaging.utils.is_normalized_name
    functionSourceFile: packaging.utils
    functionUses: 0
    functionsReached:
    - _normalized_regex.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: _normalized_regex.match
    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: functools.singledispatch
    functionSourceFile: ''
    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
    - version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 188
    functionName: packaging.version.Version.__init__
    functionSourceFile: packaging.version
    functionUses: 7
    functionsReached:
    - _local_version_separators.split
    - <builtin>.int
    - letter.lower
    - <builtin>.tuple
    - typing.NamedTuple.__init__
    - packaging.version._cmpkey
    - <builtin>.list
    - <builtin>.reversed
    - packaging.version._parse_local_version
    - <builtin>.isinstance
    - itertools.dropwhile
    - part.isdigit
    - part.lower
    - packaging.version._parse_letter_version
    - match.group
    linkageType: pythonLinkage
    raised:
    - InvalidVersion
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging.utils.canonicalize_version.register
    functionSourceFile: ''
    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:
    - version
    - strip_trailing_zero
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 85
    functionName: packaging.utils._
    functionSourceFile: packaging.utils
    functionUses: 0
    functionsReached:
    - _local_version_separators.split
    - <builtin>.int
    - letter.lower
    - <builtin>.tuple
    - match.group
    - typing.NamedTuple.__init__
    - packaging.version._cmpkey
    - <builtin>.str
    - <builtin>.list
    - <builtin>.reversed
    - <builtin>.isinstance
    - packaging.version._parse_local_version
    - packaging.utils.canonicalize_version
    - itertools.dropwhile
    - part.isdigit
    - part.lower
    - packaging.version._parse_letter_version
    - packaging.version.Version.__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: filename.endswith
    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: filename.count
    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: filename.split
    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: re.match
    functionSourceFile: re
    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: _build_tag_regex.match
    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: build_match.group
    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>.int
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: packaging.tags.parse_tag
    functionSourceFile: packaging.tags
    functionUses: 3
    functionsReached:
    - platform.lower
    - abi.lower
    - interpreters.split
    - <builtin>.set
    - <builtin>.hash
    - interpreter.lower
    - platforms.split
    - <builtin>.frozenset
    - tag.split
    - abis.split
    - packaging.tags.Tag.__init__
    - tags.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_stem.rpartition
    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: packaging
    functionSourceFile: packaging
    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: 1
    functionLinenumber: -1
    functionName: packaging.tags
    functionSourceFile: packaging.tags
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - struct.calcsize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    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: struct.calcsize
    functionSourceFile: struct
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - interpreter
    - abi
    - platform
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: packaging.tags.Tag.__init__
    functionSourceFile: packaging.tags
    functionUses: 8
    functionsReached:
    - platform.lower
    - abi.lower
    - <builtin>.hash
    - interpreter.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: interpreter.lower
    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: abi.lower
    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: platform.lower
    functionSourceFile: <builtin>
    functionUses: 9
    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: 64
    functionName: packaging.tags.Tag.interpreter
    functionSourceFile: packaging.tags
    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: 68
    functionName: packaging.tags.Tag.abi
    functionSourceFile: packaging.tags
    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: 72
    functionName: packaging.tags.Tag.platform
    functionSourceFile: packaging.tags
    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:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: packaging.tags.Tag.__eq__
    functionSourceFile: packaging.tags
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 86
    functionName: packaging.tags.Tag.__hash__
    functionSourceFile: packaging.tags
    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: 89
    functionName: packaging.tags.Tag.__str__
    functionSourceFile: packaging.tags
    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: 92
    functionName: packaging.tags.Tag.__repr__
    functionSourceFile: packaging.tags
    functionUses: 0
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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>.set
    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: 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: interpreters.split
    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: abis.split
    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: platforms.split
    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: tags.add
    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:
    - <ast.Constant object at 0x7fce5c4f6f10>
    argNames:
    - name
    - warn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: packaging.tags._get_config_var
    functionSourceFile: packaging.tags
    functionUses: 6
    functionsReached:
    - sysconfig.get_config_var
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sysconfig.get_config_var
    functionSourceFile: sysconfig
    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: logger.debug
    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:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: packaging.tags._normalize_string
    functionSourceFile: packaging.tags
    functionUses: 8
    functionsReached:
    - string.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: string.replace
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - abis
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: packaging.tags._is_threaded_cpython
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - m.group
    - re.match
    - <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: m.group
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - python_version
    - threading
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: packaging.tags._abi3_applies
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - <builtin>.tuple
    - <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: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c56c850>
    argNames:
    - py_version
    - warn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 151
    functionName: packaging.tags._cpython_abis
    functionSourceFile: packaging.tags
    functionUses: 4
    functionsReached:
    - logger.debug
    - abis.append
    - <builtin>.tuple
    - abis.insert
    - packaging.tags._get_config_var
    - <builtin>.hasattr
    - packaging.tags._version_nodot
    - sysconfig.get_config_var
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 593
    functionName: packaging.tags._version_nodot
    functionSourceFile: packaging.tags
    functionUses: 8
    functionsReached:
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: abis.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abis.insert
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c3f8fd0>
    - <ast.Constant object at 0x7fce5c3f82b0>
    - <ast.Constant object at 0x7fce5c3f8ee0>
    argNames:
    - python_version
    - abis
    - platforms
    - warn
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 184
    functionName: packaging.tags.cpython_tags
    functionSourceFile: packaging.tags
    functionUses: 1
    functionsReached:
    - logger.debug
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - packaging.tags._generic_platforms
    - linux.split
    - sys.implementation._multiarch.replace
    - <builtin>.len
    - ios_platform_template.format
    - typing.cast
    - _musllinux.platform_tags
    - abis.remove
    - linux.startswith
    - packaging.tags.ios_platforms
    - packaging.tags._abi3_applies
    - abis.append
    - arch.startswith
    - <builtin>.hash
    - packaging.tags.platform_tags
    - packaging.tags._mac_arch
    - platform.system
    - re.match
    - packaging.tags._version_nodot
    - <builtin>.map
    - subprocess.run
    - platform.lower
    - packaging.tags._is_threaded_cpython
    - packaging.tags._cpython_abis
    - packaging.tags._mac_binary_formats
    - packaging.tags._linux_platforms
    - abis.insert
    - interpreter.lower
    - sysconfig.get_platform
    - packaging.tags.mac_platforms
    - packaging.tags._get_config_var
    - formats.extend
    - _manylinux.platform_tags
    - abi.lower
    - version_str.split
    - m.group
    - <builtin>.list
    - string.replace
    - <builtin>.range
    - platform.ios_ver
    - <builtin>.hasattr
    - sysconfig.get_config_var
    - release.split
    - packaging.tags.Tag.__init__
    - platform.mac_ver
    - formats.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: abis.remove
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 556
    functionName: packaging.tags.platform_tags
    functionSourceFile: packaging.tags
    functionUses: 4
    functionsReached:
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - platform.mac_ver
    - linux.split
    - sys.implementation._multiarch.replace
    - ios_platform_template.format
    - typing.cast
    - _musllinux.platform_tags
    - linux.startswith
    - packaging.tags.ios_platforms
    - arch.startswith
    - packaging.tags._mac_arch
    - platform.system
    - <builtin>.map
    - subprocess.run
    - packaging.tags._mac_binary_formats
    - packaging.tags._linux_platforms
    - sysconfig.get_platform
    - packaging.tags.mac_platforms
    - formats.extend
    - _manylinux.platform_tags
    - version_str.split
    - string.replace
    - <builtin>.range
    - platform.ios_ver
    - release.split
    - packaging.tags._generic_platforms
    - formats.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: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 243
    functionName: packaging.tags._generic_abi
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - soabi.split
    - logger.debug
    - abis.append
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - packaging.tags._cpython_abis
    - ext_suffix.split
    - string.replace
    - <builtin>.isinstance
    - <builtin>.len
    - abis.insert
    - soabi.startswith
    - packaging.tags._get_config_var
    - <builtin>.hasattr
    - packaging.tags._version_nodot
    - sysconfig.get_config_var
    - <builtin>.map
    linkageType: pythonLinkage
    raised:
    - SystemError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ext_suffix.split
    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: soabi.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: soabi.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c339d00>
    - <ast.Constant object at 0x7fce5c339d60>
    - <ast.Constant object at 0x7fce5c339070>
    argNames:
    - interpreter
    - abis
    - platforms
    - warn
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 284
    functionName: packaging.tags.generic_tags
    functionSourceFile: packaging.tags
    functionUses: 1
    functionsReached:
    - INTERPRETER_SHORT_NAMES.get
    - logger.debug
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - platform.mac_ver
    - ext_suffix.split
    - linux.split
    - sys.implementation._multiarch.replace
    - <builtin>.len
    - ios_platform_template.format
    - typing.cast
    - _musllinux.platform_tags
    - linux.startswith
    - packaging.tags.ios_platforms
    - soabi.split
    - abis.append
    - arch.startswith
    - <builtin>.hash
    - packaging.tags.interpreter_name
    - packaging.tags.platform_tags
    - platform.system
    - packaging.tags._mac_arch
    - <builtin>.isinstance
    - packaging.tags._generic_abi
    - sysconfig.get_config_var
    - packaging.tags._version_nodot
    - <builtin>.map
    - subprocess.run
    - platform.lower
    - <builtin>.str
    - packaging.tags._linux_platforms
    - packaging.tags._mac_binary_formats
    - packaging.tags.interpreter_version
    - interpreter.lower
    - abis.insert
    - sysconfig.get_platform
    - soabi.startswith
    - packaging.tags.mac_platforms
    - packaging.tags._get_config_var
    - formats.extend
    - _manylinux.platform_tags
    - abi.lower
    - version_str.split
    - <builtin>.list
    - string.replace
    - <builtin>.range
    - platform.ios_ver
    - <builtin>.hasattr
    - packaging.tags._cpython_abis
    - release.split
    - packaging.tags.Tag.__init__
    - packaging.tags._generic_platforms
    - formats.append
    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: 570
    functionName: packaging.tags.interpreter_name
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - INTERPRETER_SHORT_NAMES.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - warn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 581
    functionName: packaging.tags.interpreter_version
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - logger.debug
    - <builtin>.str
    - packaging.tags._get_config_var
    - packaging.tags._version_nodot
    - sysconfig.get_config_var
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - py_version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: packaging.tags._py_interpreter_range
    functionSourceFile: packaging.tags
    functionUses: 2
    functionsReached:
    - packaging.tags._version_nodot
    - <builtin>.map
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c46d130>
    - <ast.Constant object at 0x7fce5c46d250>
    - <ast.Constant object at 0x7fce5c46d550>
    argNames:
    - python_version
    - interpreter
    - platforms
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 330
    functionName: packaging.tags.compatible_tags
    functionSourceFile: packaging.tags
    functionUses: 1
    functionsReached:
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - packaging.tags._generic_platforms
    - linux.split
    - sys.implementation._multiarch.replace
    - <builtin>.len
    - ios_platform_template.format
    - typing.cast
    - _musllinux.platform_tags
    - linux.startswith
    - packaging.tags.ios_platforms
    - packaging.tags._py_interpreter_range
    - arch.startswith
    - <builtin>.hash
    - packaging.tags.platform_tags
    - packaging.tags._mac_arch
    - platform.system
    - packaging.tags._version_nodot
    - <builtin>.map
    - subprocess.run
    - platform.lower
    - packaging.tags._mac_binary_formats
    - packaging.tags._linux_platforms
    - interpreter.lower
    - sysconfig.get_platform
    - packaging.tags.mac_platforms
    - formats.extend
    - _manylinux.platform_tags
    - abi.lower
    - version_str.split
    - <builtin>.list
    - string.replace
    - <builtin>.range
    - platform.ios_ver
    - release.split
    - packaging.tags.Tag.__init__
    - platform.mac_ver
    - formats.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7fce5c386220>
    argNames:
    - arch
    - is_32bit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 355
    functionName: packaging.tags._mac_arch
    functionSourceFile: packaging.tags
    functionUses: 6
    functionsReached:
    - arch.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: arch.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 6
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - version
    - cpu_arch
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: packaging.tags._mac_binary_formats
    functionSourceFile: packaging.tags
    functionUses: 6
    functionsReached:
    - formats.extend
    - formats.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: formats.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: formats.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fce5cae5df0>
    - <ast.Constant object at 0x7fce5cae5430>
    argNames:
    - version
    - arch
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 397
    functionName: packaging.tags.mac_platforms
    functionSourceFile: packaging.tags
    functionUses: 5
    functionsReached:
    - version_str.split
    - <builtin>.tuple
    - platform.mac_ver
    - packaging.tags._mac_binary_formats
    - arch.startswith
    - packaging.tags._mac_arch
    - typing.cast
    - <builtin>.range
    - formats.extend
    - <builtin>.map
    - subprocess.run
    - formats.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: platform.mac_ver
    functionSourceFile: platform
    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: version_str.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: subprocess.run
    functionSourceFile: subprocess
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fce5beff850>
    - <ast.Constant object at 0x7fce5beff550>
    argNames:
    - version
    - multiarch
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 476
    functionName: packaging.tags.ios_platforms
    functionSourceFile: packaging.tags
    functionUses: 5
    functionsReached:
    - <builtin>.tuple
    - sys.implementation._multiarch.replace
    - ios_platform_template.format
    - typing.cast
    - <builtin>.range
    - platform.ios_ver
    - release.split
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.ios_ver
    functionSourceFile: platform
    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: release.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: sys.implementation._multiarch.replace
    functionSourceFile: sys
    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: ios_platform_template.format
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues:
    - <ast.Name object at 0x7fce5c4ecf40>
    argNames:
    - is_32bit
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 533
    functionName: packaging.tags._linux_platforms
    functionSourceFile: packaging.tags
    functionUses: 5
    functionsReached:
    - packaging.tags._normalize_string
    - string.replace
    - linux.split
    - sysconfig.get_platform
    - _musllinux.platform_tags
    - linux.startswith
    - _manylinux.platform_tags
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sysconfig.get_platform
    functionSourceFile: sysconfig
    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: linux.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: linux.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: _manylinux.platform_tags
    functionSourceFile: _manylinux
    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: _musllinux.platform_tags
    functionSourceFile: _musllinux
    functionUses: 6
    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: 552
    functionName: packaging.tags._generic_platforms
    functionSourceFile: packaging.tags
    functionUses: 5
    functionsReached:
    - sysconfig.get_platform
    - packaging.tags._normalize_string
    - string.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: platform.system
    functionSourceFile: platform
    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: INTERPRETER_SHORT_NAMES.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - warn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 597
    functionName: packaging.tags.sys_tags
    functionSourceFile: packaging.tags
    functionUses: 0
    functionsReached:
    - INTERPRETER_SHORT_NAMES.get
    - logger.debug
    - <builtin>.tuple
    - packaging.tags._normalize_string
    - packaging.tags._generic_platforms
    - ext_suffix.split
    - sys.implementation._multiarch.replace
    - linux.split
    - <builtin>.len
    - ios_platform_template.format
    - typing.cast
    - _musllinux.platform_tags
    - abis.remove
    - packaging.tags.ios_platforms
    - linux.startswith
    - packaging.tags._abi3_applies
    - packaging.tags._py_interpreter_range
    - soabi.split
    - abis.append
    - arch.startswith
    - packaging.tags.compatible_tags
    - sysconfig.get_config_var
    - packaging.tags.interpreter_name
    - packaging.tags.platform_tags
    - packaging.tags._mac_arch
    - platform.system
    - <builtin>.hash
    - packaging.tags._generic_abi
    - re.match
    - <builtin>.isinstance
    - packaging.tags._version_nodot
    - <builtin>.map
    - subprocess.run
    - platform.lower
    - packaging.tags._is_threaded_cpython
    - <builtin>.str
    - packaging.tags._linux_platforms
    - packaging.tags._mac_binary_formats
    - packaging.tags.interpreter_version
    - sysconfig.get_platform
    - abis.insert
    - interpreter.lower
    - packaging.tags.mac_platforms
    - packaging.tags._get_config_var
    - soabi.startswith
    - formats.extend
    - _manylinux.platform_tags
    - abi.lower
    - packaging.tags.generic_tags
    - packaging.tags.cpython_tags
    - version_str.split
    - m.group
    - <builtin>.list
    - string.replace
    - <builtin>.range
    - platform.ios_ver
    - <builtin>.hasattr
    - packaging.tags._cpython_abis
    - release.split
    - packaging.tags.Tag.__init__
    - platform.mac_ver
    - formats.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: packaging._musllinux
    functionSourceFile: packaging._musllinux
    functionUses: 0
    functionsReached:
    - packaging._musllinux.platform_tags
    - output.splitlines
    - re.sub
    - plat.split
    - <builtin>.len
    - _elffile.ELFFile
    - <builtin>.int
    - packaging._musllinux._parse_musl_version
    - functools.lru_cache
    - re.match
    - subprocess.run
    - <builtin>.open
    - packaging._musllinux._get_musl_version
    - typing.NamedTuple.__init__
    - sysconfig.get_platform
    - plat.startswith
    - n.strip
    - m.group
    - <builtin>.range
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - output
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: packaging._musllinux._parse_musl_version
    functionSourceFile: packaging._musllinux
    functionUses: 3
    functionsReached:
    - <builtin>.int
    - n.strip
    - typing.NamedTuple.__init__
    - m.group
    - <builtin>.len
    - output.splitlines
    - re.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: n.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: output.splitlines
    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: typing.NamedTuple.__init__
    functionSourceFile: ''
    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: functools.lru_cache
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - executable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: packaging._musllinux._get_musl_version
    functionSourceFile: packaging._musllinux
    functionUses: 2
    functionsReached:
    - <builtin>.int
    - n.strip
    - <builtin>.open
    - typing.NamedTuple.__init__
    - m.group
    - <builtin>.len
    - output.splitlines
    - packaging._musllinux._parse_musl_version
    - re.match
    - _elffile.ELFFile
    - subprocess.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: _elffile.ELFFile
    functionSourceFile: _elffile
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - archs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 56
    functionName: packaging._musllinux.platform_tags
    functionSourceFile: packaging._musllinux
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - n.strip
    - <builtin>.open
    - packaging._musllinux._get_musl_version
    - typing.NamedTuple.__init__
    - m.group
    - <builtin>.len
    - output.splitlines
    - <builtin>.range
    - packaging._musllinux._parse_musl_version
    - re.match
    - _elffile.ELFFile
    - subprocess.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: plat.startswith
    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: 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: plat.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: re.sub
    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: 1
    functionLinenumber: -1
    functionName: packaging._manylinux
    functionSourceFile: packaging._manylinux
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    - functools.lru_cache
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: packaging._manylinux._parse_elf
    functionSourceFile: packaging._manylinux
    functionUses: 4
    functionsReached:
    - _elffile.ELFFile
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - executable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 30
    functionName: packaging._manylinux._is_linux_armhf
    functionSourceFile: packaging._manylinux
    functionUses: 2
    functionsReached:
    - _elffile.ELFFile
    - packaging._manylinux._parse_elf
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - executable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: packaging._manylinux._is_linux_i686
    functionSourceFile: packaging._manylinux
    functionUses: 2
    functionsReached:
    - _elffile.ELFFile
    - packaging._manylinux._parse_elf
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - executable
    - archs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 55
    functionName: packaging._manylinux._have_compatible_abi
    functionSourceFile: packaging._manylinux
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - packaging._manylinux._parse_elf
    - packaging._manylinux._is_linux_i686
    - packaging._manylinux._is_linux_armhf
    - _elffile.ELFFile
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging._manylinux.<lambda1>
    functionSourceFile: packaging._manylinux
    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.defaultdict
    functionSourceFile: collections
    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: 85
    functionName: packaging._manylinux._glibc_version_string_confstr
    functionSourceFile: packaging._manylinux
    functionUses: 4
    functionsReached:
    - os.confstr
    - version_string.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.confstr
    functionSourceFile: os
    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: version_string.rsplit
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: packaging._manylinux._glibc_version_string_ctypes
    functionSourceFile: packaging._manylinux
    functionUses: 4
    functionsReached:
    - ctypes.CDLL
    - <builtin>.isinstance
    - version_str.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: ctypes.CDLL
    functionSourceFile: ctypes
    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: version_str.decode
    functionSourceFile: <builtin>
    functionUses: 5
    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: 148
    functionName: packaging._manylinux._glibc_version_string
    functionSourceFile: packaging._manylinux
    functionUses: 3
    functionsReached:
    - packaging._manylinux._glibc_version_string_confstr
    - os.confstr
    - version_str.decode
    - version_string.rsplit
    - ctypes.CDLL
    - <builtin>.isinstance
    - packaging._manylinux._glibc_version_string_ctypes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - version_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 153
    functionName: packaging._manylinux._parse_glibc_version
    functionSourceFile: packaging._manylinux
    functionUses: 3
    functionsReached:
    - warnings.warn
    - m.group
    - <builtin>.int
    - re.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: warnings.warn
    functionSourceFile: warnings
    functionUses: 4
    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: 3
    functionLinenumber: 174
    functionName: packaging._manylinux._get_glibc_version
    functionSourceFile: packaging._manylinux
    functionUses: 2
    functionsReached:
    - packaging._manylinux._glibc_version_string_confstr
    - <builtin>.int
    - os.confstr
    - version_str.decode
    - version_string.rsplit
    - m.group
    - warnings.warn
    - ctypes.CDLL
    - packaging._manylinux._glibc_version_string
    - re.match
    - <builtin>.isinstance
    - packaging._manylinux._glibc_version_string_ctypes
    - packaging._manylinux._parse_glibc_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 0
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - arch
    - version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 182
    functionName: packaging._manylinux._is_compatible
    functionSourceFile: packaging._manylinux
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - packaging._manylinux._glibc_version_string_confstr
    - <builtin>.int
    - _manylinux.manylinux_compatible
    - os.confstr
    - version_str.decode
    - version_string.rsplit
    - typing.NamedTuple.__init__
    - m.group
    - warnings.warn
    - ctypes.CDLL
    - packaging._manylinux._glibc_version_string
    - re.match
    - <builtin>.hasattr
    - packaging._manylinux._get_glibc_version
    - <builtin>.isinstance
    - packaging._manylinux._glibc_version_string_ctypes
    - packaging._manylinux._parse_glibc_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _manylinux.manylinux_compatible
    functionSourceFile: _manylinux
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - archs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 218
    functionName: packaging._manylinux.platform_tags
    functionSourceFile: packaging._manylinux
    functionUses: 0
    functionsReached:
    - version_str.decode
    - <builtin>.set
    - packaging._manylinux._get_glibc_version
    - _elffile.ELFFile
    - <builtin>.int
    - os.confstr
    - version_string.rsplit
    - ctypes.CDLL
    - glibc_max_list.append
    - re.match
    - packaging._manylinux._is_linux_armhf
    - <builtin>.open
    - packaging._manylinux._glibc_version_string_confstr
    - typing.NamedTuple.__init__
    - <builtin>.any
    - packaging._manylinux._parse_glibc_version
    - <builtin>.bool
    - _manylinux.manylinux_compatible
    - packaging._manylinux._have_compatible_abi
    - m.group
    - packaging._manylinux._parse_elf
    - warnings.warn
    - packaging._manylinux._glibc_version_string
    - packaging._manylinux._is_linux_i686
    - <builtin>.range
    - <builtin>.hasattr
    - <builtin>.isinstance
    - packaging._manylinux._glibc_version_string_ctypes
    - packaging._manylinux._is_compatible
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: glibc_max_list.append
    functionSourceFile: <builtin>
    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: -1
    functionName: packaging.version
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: packaging.version.parse
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - _local_version_separators.split
    - <builtin>.int
    - letter.lower
    - <builtin>.tuple
    - match.group
    - typing.NamedTuple.__init__
    - packaging.version._cmpkey
    - <builtin>.list
    - <builtin>.reversed
    - packaging.version._parse_local_version
    - <builtin>.isinstance
    - itertools.dropwhile
    - part.isdigit
    - part.lower
    - packaging.version._parse_letter_version
    - packaging.version.Version.__init__
    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: 72
    functionName: packaging.version._BaseVersion.__hash__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: packaging.version._BaseVersion.__lt__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: packaging.version._BaseVersion.__le__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: packaging.version._BaseVersion.__eq__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: packaging.version._BaseVersion.__ge__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: packaging.version._BaseVersion.__gt__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: packaging.version._BaseVersion.__ne__
    functionSourceFile: packaging.version
    functionUses: 0
    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: 1
    functionLinenumber: -1
    functionName: packaging.version.Version
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - letter
    - number
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: packaging.version._parse_letter_version
    functionSourceFile: packaging.version
    functionUses: 8
    functionsReached:
    - <builtin>.int
    - letter.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - local
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 511
    functionName: packaging.version._parse_local_version
    functionSourceFile: packaging.version
    functionUses: 8
    functionsReached:
    - _local_version_separators.split
    - <builtin>.int
    - <builtin>.tuple
    - part.isdigit
    - part.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 6
    argDefaultValues: []
    argNames:
    - epoch
    - release
    - pre
    - post
    - dev
    - local
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 523
    functionName: packaging.version._cmpkey
    functionSourceFile: packaging.version
    functionUses: 8
    functionsReached:
    - <builtin>.tuple
    - <builtin>.list
    - <builtin>.reversed
    - itertools.dropwhile
    - <builtin>.isinstance
    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: 226
    functionName: packaging.version.Version.__repr__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 234
    functionName: packaging.version.Version.__str__
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - parts.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: parts.append
    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: 0
    functionLinenumber: 268
    functionName: packaging.version.Version.epoch
    functionSourceFile: packaging.version
    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: 279
    functionName: packaging.version.Version.release
    functionSourceFile: packaging.version
    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: 295
    functionName: packaging.version.Version.pre
    functionSourceFile: packaging.version
    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: 310
    functionName: packaging.version.Version.post
    functionSourceFile: packaging.version
    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: 321
    functionName: packaging.version.Version.dev
    functionSourceFile: packaging.version
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: packaging.version.Version.local
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 346
    functionName: packaging.version.Version.public
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 1
    functionLinenumber: 359
    functionName: packaging.version.Version.base_version
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - parts.append
    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: 384
    functionName: packaging.version.Version.is_prerelease
    functionSourceFile: packaging.version
    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: 401
    functionName: packaging.version.Version.is_postrelease
    functionSourceFile: packaging.version
    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: 412
    functionName: packaging.version.Version.is_devrelease
    functionSourceFile: packaging.version
    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: 1
    functionLinenumber: 423
    functionName: packaging.version.Version.major
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <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: 432
    functionName: packaging.version.Version.minor
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <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: 443
    functionName: packaging.version.Version.micro
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <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: 456
    functionName: packaging.version._TrimmedRelease.release
    functionSourceFile: packaging.version
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.super
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: <builtin>.enumerate
    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: letter.lower
    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: part.isdigit
    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: part.lower
    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: _local_version_separators.split
    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: packaging.version._cmpkey.<lambda1>
    functionSourceFile: packaging.version
    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>.reversed
    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: itertools.dropwhile
    functionSourceFile: itertools
    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: packaging._structures
    functionSourceFile: packaging._structures
    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: 7
    functionName: packaging._structures.InfinityType.__repr__
    functionSourceFile: packaging._structures
    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: 10
    functionName: packaging._structures.InfinityType.__hash__
    functionSourceFile: packaging._structures
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: packaging._structures.InfinityType.__lt__
    functionSourceFile: packaging._structures
    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: 16
    functionName: packaging._structures.InfinityType.__le__
    functionSourceFile: packaging._structures
    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: 1
    functionLinenumber: 19
    functionName: packaging._structures.InfinityType.__eq__
    functionSourceFile: packaging._structures
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 22
    functionName: packaging._structures.InfinityType.__gt__
    functionSourceFile: packaging._structures
    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: 25
    functionName: packaging._structures.InfinityType.__ge__
    functionSourceFile: packaging._structures
    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: 28
    functionName: packaging._structures.InfinityType.__neg__
    functionSourceFile: packaging._structures
    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: 36
    functionName: packaging._structures.NegativeInfinityType.__repr__
    functionSourceFile: packaging._structures
    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: 39
    functionName: packaging._structures.NegativeInfinityType.__hash__
    functionSourceFile: packaging._structures
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.hash
    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: packaging._structures.NegativeInfinityType.__lt__
    functionSourceFile: packaging._structures
    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: packaging._structures.NegativeInfinityType.__le__
    functionSourceFile: packaging._structures
    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: 1
    functionLinenumber: 48
    functionName: packaging._structures.NegativeInfinityType.__eq__
    functionSourceFile: packaging._structures
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 51
    functionName: packaging._structures.NegativeInfinityType.__gt__
    functionSourceFile: packaging._structures
    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: 54
    functionName: packaging._structures.NegativeInfinityType.__ge__
    functionSourceFile: packaging._structures
    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: 57
    functionName: packaging._structures.NegativeInfinityType.__neg__
    functionSourceFile: packaging._structures
    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: 1
    functionLinenumber: -1
    functionName: packaging._tokenizer
    functionSourceFile: packaging._tokenizer
    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: []
    argNames:
    - self
    - message
    - source
    - span
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: packaging._tokenizer.ParserSyntaxError.__init__
    functionSourceFile: packaging._tokenizer
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 34
    functionName: packaging._tokenizer.ParserSyntaxError.__str__
    functionSourceFile: packaging._tokenizer
    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
    - source
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: packaging._tokenizer.Tokenizer.__init__
    functionSourceFile: packaging._tokenizer
    functionUses: 2
    functionsReached:
    - re.compile
    - rules.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: rules.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: packaging._tokenizer.Tokenizer.consume
    functionSourceFile: packaging._tokenizer
    functionUses: 13
    functionsReached:
    - expression.match
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - peek
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: packaging._tokenizer.Tokenizer.check
    functionSourceFile: packaging._tokenizer
    functionUses: 18
    functionsReached:
    - expression.match
    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: 145
    functionName: packaging._tokenizer.Tokenizer.read
    functionSourceFile: packaging._tokenizer
    functionUses: 18
    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: expression.match
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - expected
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 136
    functionName: packaging._tokenizer.Tokenizer.expect
    functionSourceFile: packaging._tokenizer
    functionUses: 12
    functionsReached:
    - expression.match
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - message
    - span_start
    - span_end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: packaging._tokenizer.Tokenizer.raise_syntax_error
    functionSourceFile: packaging._tokenizer
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ParserSyntaxError
    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: packaging._tokenizer.Tokenizer
    functionSourceFile: packaging._tokenizer
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - open_token
    - close_token
    - around
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 174
    functionName: packaging._tokenizer.Tokenizer.enclosing_tokens
    functionSourceFile: packaging._tokenizer
    functionUses: 10
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - expression.match
    - <builtin>.len
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging.requirements
    functionSourceFile: packaging.requirements
    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:
    - self
    - requirement_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: packaging.requirements.Requirement.__init__
    functionSourceFile: packaging.requirements
    functionUses: 0
    functionsReached:
    - specifiers.SpecifierSet
    - markers.Marker.__new__
    - <builtin>.set
    - _parser.parse_requirement
    - markers._normalize_extra_values
    linkageType: pythonLinkage
    raised:
    - InvalidRequirement
    returnType: N/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_requirement
    functionSourceFile: _parser
    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: specifiers.SpecifierSet
    functionSourceFile: specifiers
    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: markers.Marker.__new__
    functionSourceFile: markers
    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: markers._normalize_extra_values
    functionSourceFile: markers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: packaging.requirements.Requirement._iter_parts
    functionSourceFile: packaging.requirements
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - <builtin>.str
    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: 67
    functionName: packaging.requirements.Requirement.__str__
    functionSourceFile: packaging.requirements
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - packaging.requirements.Requirement._iter_parts
    - <builtin>.str
    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: 70
    functionName: packaging.requirements.Requirement.__repr__
    functionSourceFile: packaging.requirements
    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: 73
    functionName: packaging.requirements.Requirement.__hash__
    functionSourceFile: packaging.requirements
    functionUses: 0
    functionsReached:
    - utils.canonicalize_name
    - <builtin>.sorted
    - <builtin>.str
    - <builtin>.hash
    - packaging.requirements.Requirement._iter_parts
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: utils.canonicalize_name
    functionSourceFile: utils
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: packaging.requirements.Requirement.__eq__
    functionSourceFile: packaging.requirements
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - utils.canonicalize_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging.markers
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - results
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: packaging.markers._normalize_extra_values
    functionSourceFile: packaging.markers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - utils.canonicalize_name
    - _parser.Value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Value
    functionSourceFile: _parser
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c471d60>
    argNames:
    - marker
    - first
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: packaging.markers._format_marker
    functionSourceFile: packaging.markers
    functionUses: 1
    functionsReached:
    - packaging.markers._format_marker
    - <builtin>.isinstance
    - m.serialize
    - <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: m.serialize
    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: packaging.markers.<dict1>.<lambda1>
    functionSourceFile: packaging.markers
    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: packaging.markers.<dict1>.<lambda2>
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - lhs
    - op
    - rhs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: packaging.markers._eval_op
    functionSourceFile: packaging.markers
    functionUses: 2
    functionsReached:
    - _operators.get
    - op.serialize
    - specifiers.Specifier.contains
    - specifiers.Specifier
    linkageType: pythonLinkage
    raised:
    - UndefinedComparison
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: specifiers.Specifier
    functionSourceFile: specifiers
    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: specifiers.Specifier.contains
    functionSourceFile: specifiers
    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: op.serialize
    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: _operators.get
    functionSourceFile: <builtin>
    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:
    - values
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: packaging.markers._normalize
    functionSourceFile: packaging.markers
    functionUses: 2
    functionsReached:
    - utils.canonicalize_name
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - markers
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 204
    functionName: packaging.markers._evaluate_markers
    functionSourceFile: packaging.markers
    functionUses: 1
    functionsReached:
    - packaging.markers._evaluate_markers
    - packaging.markers._normalize
    - utils.canonicalize_name
    - specifiers.Specifier.contains
    - <builtin>.tuple
    - <builtin>.all
    - specifiers.Specifier
    - _operators.get
    - groups.append
    - <builtin>.isinstance
    - packaging.markers._eval_op
    - op.serialize
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: groups.append
    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:
    - info
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 234
    functionName: packaging.markers.format_full_version
    functionSourceFile: packaging.markers
    functionUses: 2
    functionsReached:
    - <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: 2
    functionLinenumber: 242
    functionName: packaging.markers.default_environment
    functionSourceFile: packaging.markers
    functionUses: 1
    functionsReached:
    - platform.machine
    - platform.version
    - packaging.markers.format_full_version
    - platform.release
    - <builtin>.str
    - platform.python_implementation
    - platform.system
    - platform.python_version
    - platform.python_version_tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.machine
    functionSourceFile: platform
    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: platform.release
    functionSourceFile: platform
    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: platform.version
    functionSourceFile: platform
    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: platform.python_version
    functionSourceFile: platform
    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: platform.python_implementation
    functionSourceFile: platform
    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: platform.python_version_tuple
    functionSourceFile: platform
    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
    - marker
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 261
    functionName: packaging.markers.Marker.__init__
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached:
    - utils.canonicalize_name
    - _parser.Value
    - _parser.parse_marker
    - packaging.markers._normalize_extra_values
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - InvalidMarker
    returnType: N/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_marker
    functionSourceFile: _parser
    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: 2
    functionLinenumber: 286
    functionName: packaging.markers.Marker.__str__
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached:
    - packaging.markers._format_marker
    - <builtin>.isinstance
    - m.serialize
    - <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: 289
    functionName: packaging.markers.Marker.__repr__
    functionSourceFile: packaging.markers
    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: 292
    functionName: packaging.markers.Marker.__hash__
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 295
    functionName: packaging.markers.Marker.__eq__
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fce5c501850>
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 301
    functionName: packaging.markers.Marker.evaluate
    functionSourceFile: packaging.markers
    functionUses: 0
    functionsReached:
    - utils.canonicalize_name
    - packaging.markers.format_full_version
    - <builtin>.tuple
    - _operators.get
    - typing.cast
    - typing.cast.update
    - packaging.markers._evaluate_markers
    - platform.system
    - packaging.markers._repair_python_full_version
    - platform.version
    - specifiers.Specifier.contains
    - <builtin>.all
    - platform.release
    - <builtin>.str
    - <builtin>.any
    - platform.machine
    - packaging.markers._normalize
    - specifiers.Specifier
    - platform.python_implementation
    - platform.python_version_tuple
    - groups.append
    - platform.python_version
    - packaging.markers.default_environment
    - <builtin>.isinstance
    - packaging.markers._eval_op
    - op.serialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.update
    functionSourceFile: typing
    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:
    - env
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 324
    functionName: packaging.markers._repair_python_full_version
    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: 1
    functionLinenumber: -1
    functionName: packaging.metadata
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.object
    - _EMAIL_TO_RAW_MAPPING.items
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - message
    - exceptions
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: packaging.metadata.ExceptionGroup.__init__
    functionSourceFile: packaging.metadata
    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: 45
    functionName: packaging.metadata.ExceptionGroup.__repr__
    functionSourceFile: packaging.metadata
    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
    - field
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: packaging.metadata.InvalidMetadata.__init__
    functionSourceFile: packaging.metadata
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: packaging.metadata._parse_keywords
    functionSourceFile: packaging.metadata
    functionUses: 2
    functionsReached:
    - data.split
    - k.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: k.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: data.split
    functionSourceFile: <builtin>
    functionUses: 3
    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: 1
    functionLinenumber: 180
    functionName: packaging.metadata._parse_project_urls
    functionSourceFile: packaging.metadata
    functionUses: 2
    functionsReached:
    - p.strip
    - <builtin>.len
    - pair.split
    - parts.extend
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.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: pair.split
    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: parts.extend
    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:
    - msg
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: packaging.metadata._get_payload
    functionSourceFile: packaging.metadata
    functionUses: 2
    functionsReached:
    - msg.get_payload
    - <builtin>.isinstance
    - bpayload.decode
    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: msg.get_payload
    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: bpayload.decode
    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: _EMAIL_TO_RAW_MAPPING.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 8
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 286
    functionName: packaging.metadata.parse_email
    functionSourceFile: packaging.metadata
    functionUses: 1
    functionsReached:
    - packaging.metadata._parse_keywords
    - <builtin>.len
    - typing.cast
    - parts.extend
    - packaging.metadata._parse_project_urls
    - bpayload.decode
    - p.strip
    - <builtin>.frozenset
    - msg.get_payload
    - chunks.append
    - pair.split
    - email.parser.Parser
    - <builtin>.max
    - email.parser.BytesParser
    - parsed.get_all
    - <builtin>.str
    - data.split
    - name.lower
    - value.append
    - parsed.get_payload
    - parsed.keys
    - bin.decode
    - email.header.decode_header
    - email.header.make_header
    - unparsed.setdefault
    - k.strip
    - _EMAIL_TO_RAW_MAPPING.get
    - <builtin>.isinstance
    - raw.pop
    - packaging.metadata._get_payload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.parser.Parser
    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: email.parser.BytesParser
    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: parsed.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: name.lower
    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: parsed.get_all
    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: email.header.decode_header
    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: bin.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: chunks.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: email.header.make_header
    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: value.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: _EMAIL_TO_RAW_MAPPING.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: parsed.get_payload
    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: unparsed.setdefault
    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: raw.pop
    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>.object
    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
    - added
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 486
    functionName: packaging.metadata._Validator.__init__
    functionSourceFile: packaging.metadata
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - _owner
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 493
    functionName: packaging.metadata._Validator.__set_name__
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - _owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 497
    functionName: packaging.metadata._Validator.__get__
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - typing.cast
    - instance._raw.get
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance._raw.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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fce5be27460>
    argNames:
    - self
    - msg
    - cause
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 524
    functionName: packaging.metadata._Validator._invalid_metadata
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - msg.format_map
    - <builtin>.super
    - packaging.metadata.InvalidMetadata.__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: msg.format_map
    functionSourceFile: <builtin>
    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:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 533
    functionName: packaging.metadata._Validator._process_metadata_version
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 539
    functionName: packaging.metadata._Validator._process_name
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - utils.canonicalize_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    functionName: packaging.metadata._Validator._process_version
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - version.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: version.parse
    functionSourceFile: version
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 562
    functionName: packaging.metadata._Validator._process_summary
    functionSourceFile: packaging.metadata
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 568
    functionName: packaging.metadata._Validator._process_description_content_type
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - value.lower
    - parameters.get
    - email.message.EmailMessage
    - message.get_content_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: email.message.EmailMessage
    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: message.get_content_type
    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: parameters.get
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 600
    functionName: packaging.metadata._Validator._process_dynamic
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - <builtin>.map
    - <builtin>.list
    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: 1
    functionLinenumber: 612
    functionName: packaging.metadata._Validator._process_provides_extra
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - utils.canonicalize_name
    - normalized_names.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: normalized_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: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 627
    functionName: packaging.metadata._Validator._process_requires_python
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - specifiers.SpecifierSet
    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: 1
    functionLinenumber: 635
    functionName: packaging.metadata._Validator._process_requires_dist
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - requirements.Requirement
    - reqs.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: requirements.Requirement
    functionSourceFile: requirements
    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: reqs.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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 650
    functionName: packaging.metadata._Validator._process_license_expression
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - licenses.canonicalize_license_expression
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: licenses.canonicalize_license_expression
    functionSourceFile: licenses
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 660
    functionName: packaging.metadata._Validator._process_license_files
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - pathlib.PureWindowsPath
    - pathlib.PurePosixPath
    - paths.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: pathlib.PurePosixPath
    functionSourceFile: pathlib
    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: pathlib.PureWindowsPath
    functionSourceFile: pathlib
    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: paths.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - data
    - validate
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 700
    functionName: packaging.metadata.Metadata.from_raw
    functionSourceFile: packaging.metadata
    functionUses: 1
    functionsReached:
    - data.copy
    - exceptions.append
    - _VALID_METADATA_VERSIONS.index
    - <builtin>.frozenset
    - <builtin>.getattr
    - <builtin>.super
    - packaging.metadata.InvalidMetadata.__init__
    linkageType: pythonLinkage
    raised:
    - ExceptionGroup
    returnType: N/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.copy
    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: _VALID_METADATA_VERSIONS.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: exceptions.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - data
    - validate
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 757
    functionName: packaging.metadata.Metadata.from_email
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - packaging.metadata.Metadata.from_raw
    - packaging.metadata._parse_keywords
    - <builtin>.len
    - typing.cast
    - parts.extend
    - packaging.metadata.parse_email
    - <builtin>.getattr
    - packaging.metadata._parse_project_urls
    - bpayload.decode
    - packaging.metadata.InvalidMetadata.__init__
    - exceptions.append
    - _VALID_METADATA_VERSIONS.index
    - p.strip
    - <builtin>.frozenset
    - msg.get_payload
    - chunks.append
    - pair.split
    - email.parser.Parser
    - <builtin>.max
    - email.parser.BytesParser
    - <builtin>.super
    - parsed.get_all
    - <builtin>.str
    - data.copy
    - data.split
    - name.lower
    - value.append
    - parsed.get_payload
    - parsed.keys
    - bin.decode
    - email.header.decode_header
    - email.header.make_header
    - unparsed.setdefault
    - k.strip
    - _EMAIL_TO_RAW_MAPPING.get
    - <builtin>.isinstance
    - raw.pop
    - packaging.metadata._get_payload
    linkageType: pythonLinkage
    raised:
    - ExceptionGroup
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 30
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: packaging.metadata.Metadata
    functionSourceFile: packaging.metadata
    functionUses: 0
    functionsReached:
    - packaging.metadata._Validator.__init__
    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: packaging._parser
    functionSourceFile: packaging._parser
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: packaging._parser.Node.__init__
    functionSourceFile: packaging._parser
    functionUses: 13
    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: 19
    functionName: packaging._parser.Node.__str__
    functionSourceFile: packaging._parser
    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: 22
    functionName: packaging._parser.Node.__repr__
    functionSourceFile: packaging._parser
    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: 25
    functionName: packaging._parser.Node.serialize
    functionSourceFile: packaging._parser
    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: 30
    functionName: packaging._parser.Variable.serialize
    functionSourceFile: packaging._parser
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 35
    functionName: packaging._parser.Value.serialize
    functionSourceFile: packaging._parser
    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: 40
    functionName: packaging._parser.Op.serialize
    functionSourceFile: packaging._parser
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - source
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 61
    functionName: packaging._parser.parse_requirement
    functionSourceFile: packaging._parser
    functionUses: 0
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._parser._parse_requirement
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - rules.items
    - packaging._parser._parse_extras
    - typing.NamedTuple.__init__
    - packaging._parser._parse_specifier
    - <builtin>.str
    - expression.match
    - packaging._parser._parse_requirement_details
    - expression.extend
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser._parse_marker_item
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._parser._parse_extras_list
    - packaging._tokenizer.Tokenizer.consume
    - re.compile
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    - extras.append
    - packaging._parser._parse_version_many
    - packaging._tokenizer.Tokenizer.__init__
    - packaging._parser._parse_requirement_marker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 65
    functionName: packaging._parser._parse_requirement
    functionSourceFile: packaging._parser
    functionUses: 1
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - packaging._parser._parse_extras
    - packaging._parser._parse_specifier
    - typing.NamedTuple.__init__
    - <builtin>.str
    - expression.match
    - packaging._parser._parse_requirement_details
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._parser._parse_extras_list
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser._parse_requirement_marker
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    - extras.append
    - packaging._parser._parse_version_many
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: packaging._parser._parse_extras
    functionSourceFile: packaging._parser
    functionUses: 2
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._parser._parse_extras_list
    - packaging._tokenizer.Tokenizer.consume
    - packaging._tokenizer.Tokenizer.expect
    - expression.match
    - <builtin>.len
    - extras.append
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 86
    functionName: packaging._parser._parse_requirement_details
    functionSourceFile: packaging._parser
    functionUses: 2
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - packaging._parser._parse_specifier
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    - packaging._parser._parse_version_many
    - packaging._parser._parse_requirement_marker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - tokenizer
    - span_start
    - after
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 137
    functionName: packaging._parser._parse_requirement_marker
    functionSourceFile: packaging._parser
    functionUses: 3
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: packaging._parser._parse_specifier
    functionSourceFile: packaging._parser
    functionUses: 3
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._tokenizer.Tokenizer.consume
    - expression.match
    - <builtin>.len
    - packaging._tokenizer.Tokenizer.read
    - packaging._parser._parse_version_many
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 262
    functionName: packaging._parser._parse_marker
    functionSourceFile: packaging._parser
    functionUses: 7
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: packaging._parser._parse_extras_list
    functionSourceFile: packaging._parser
    functionUses: 3
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._tokenizer.Tokenizer.consume
    - packaging._tokenizer.Tokenizer.expect
    - expression.match
    - <builtin>.len
    - extras.append
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extras.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 220
    functionName: packaging._parser._parse_version_many
    functionSourceFile: packaging._parser
    functionUses: 4
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._tokenizer.Tokenizer.consume
    - expression.match
    - <builtin>.len
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - source
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 252
    functionName: packaging._parser.parse_marker
    functionSourceFile: packaging._parser
    functionUses: 0
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - packaging._parser._parse_full_marker
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - rules.items
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - re.compile
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.__init__
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 256
    functionName: packaging._parser._parse_full_marker
    functionSourceFile: packaging._parser
    functionUses: 1
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 274
    functionName: packaging._parser._parse_marker_atom
    functionSourceFile: packaging._parser
    functionUses: 7
    functionsReached:
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.len
    - packaging._parser.process_python_str
    - packaging._parser._parse_marker
    - packaging._tokenizer.Tokenizer.expect
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.check
    - packaging._parser._parse_marker_var
    - <builtin>.str
    - expression.match
    - expression.extend
    - packaging._parser._parse_marker_item
    - packaging._tokenizer.Tokenizer.enclosing_tokens
    - packaging._parser.Node.__init__
    - packaging._parser._parse_marker_atom
    - packaging._tokenizer.Tokenizer.consume
    - packaging._parser.process_env_var
    - packaging._tokenizer.Tokenizer.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expression.extend
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 296
    functionName: packaging._parser._parse_marker_item
    functionSourceFile: packaging._parser
    functionUses: 8
    functionsReached:
    - packaging._parser._parse_marker_var
    - packaging._parser._parse_marker_op
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._tokenizer.Tokenizer.consume
    - packaging._tokenizer.Tokenizer.expect
    - <builtin>.str
    - expression.match
    - packaging._parser.process_env_var
    - <builtin>.len
    - packaging._parser.Node.__init__
    - packaging._parser.process_python_str
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 310
    functionName: packaging._parser._parse_marker_var
    functionSourceFile: packaging._parser
    functionUses: 9
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - <builtin>.str
    - expression.match
    - packaging._parser.process_env_var
    - <builtin>.len
    - packaging._parser.Node.__init__
    - packaging._parser.process_python_str
    - ast.literal_eval
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - tokenizer
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 336
    functionName: packaging._parser._parse_marker_op
    functionSourceFile: packaging._parser
    functionUses: 9
    functionsReached:
    - packaging._tokenizer.Tokenizer.raise_syntax_error
    - packaging._tokenizer.Tokenizer.expect
    - expression.match
    - <builtin>.len
    - packaging._parser.Node.__init__
    - packaging._tokenizer.Tokenizer.read
    - packaging._tokenizer.Tokenizer.check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - env_var
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: packaging._parser.process_env_var
    functionSourceFile: packaging._parser
    functionUses: 10
    functionsReached:
    - packaging._parser.Node.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - python_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: packaging._parser.process_python_str
    functionSourceFile: packaging._parser
    functionUses: 10
    functionsReached:
    - ast.literal_eval
    - <builtin>.str
    - packaging._parser.Node.__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: ast.literal_eval
    functionSourceFile: ast
    functionUses: 11
    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: packaging._elffile
    functionSourceFile: packaging._elffile
    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:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 46
    functionName: packaging._elffile.ELFFile.__init__
    functionSourceFile: packaging._elffile
    functionUses: 0
    functionsReached:
    - struct.unpack
    - packaging._elffile.ELFFile._read
    - <builtin>.bytes
    - struct.calcsize
    linkageType: pythonLinkage
    raised:
    - ELFInvalid
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fmt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: packaging._elffile.ELFFile._read
    functionSourceFile: packaging._elffile
    functionUses: 2
    functionsReached:
    - struct.unpack
    - struct.calcsize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.bytes
    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: struct.unpack
    functionSourceFile: struct
    functionUses: 3
    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: 96
    functionName: packaging._elffile.ELFFile.interpreter
    functionSourceFile: packaging._elffile
    functionUses: 0
    functionsReached:
    - struct.unpack
    - packaging._elffile.ELFFile._read
    - <builtin>.range
    - os.fsdecode
    - struct.calcsize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.fsdecode
    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: packaging.licenses._spdx
    functionSourceFile: packaging.licenses._spdx
    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: 1
    functionLinenumber: -1
    functionName: packaging.licenses
    functionSourceFile: packaging.licenses
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 7
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - raw_license_expression
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: packaging.licenses.canonicalize_license_expression
    functionSourceFile: packaging.licenses
    functionUses: 0
    functionsReached:
    - <builtin>.locals
    - <builtin>.globals
    - python_tokens.append
    - normalized_expression.replace
    - license_expression.split
    - raw_license_expression.replace
    - license_ref_allowed.match
    - token.endswith
    - licenseref_prefix.lower
    - token.upper
    - <builtin>.len
    - typing.cast
    - normalized_tokens.append
    - final_token.startswith
    - license_expression.lower
    - <builtin>.eval
    - ref.lower
    linkageType: pythonLinkage
    raised:
    - InvalidLicenseExpression
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: raw_license_expression.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: ref.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: license_expression.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: licenseref_prefix.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: license_expression.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: python_tokens.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: <builtin>.globals
    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>.locals
    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>.eval
    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: token.upper
    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: normalized_tokens.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: token.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: final_token.startswith
    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: license_ref_allowed.match
    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: normalized_expression.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_packaging':
  - 76
  - 77
  - 15
  '...fuzz_packaging.TestOneInput':
  - 65
  - 66
  - 67
  '...fuzz_packaging.fuzz_specifier':
  - 46
  - 47
  - 49
  - 50
  - 51
  - 52
  - 59
  '...fuzz_packaging.fuzz_utils':
  - 33
  - 34
  - 39
  - 40
  - 28
  - 29
  - 30
  - 31
  '...fuzz_packaging.main':
  - 72
  - 73
  - 71
  packaging._elffile:
  - 1
  packaging._elffile.ELFFile:
  - 42
  packaging._elffile.ELFFile.__init__:
  - 88
  - 50
  - 53
  - 54
  packaging._elffile.ELFFile._read:
  - 93
  packaging._elffile.ELFFile.interpreter:
  - 97
  - 100
  - 101
  - 103
  - 106
  - 108
  - 109
  packaging._manylinux:
  - 77
  packaging._manylinux._get_glibc_version:
  - 176
  - 178
  - 175
  packaging._manylinux._glibc_version_string:
  - 149
  - 150
  packaging._manylinux._glibc_version_string_confstr:
  - 97
  - 86
  - 95
  packaging._manylinux._glibc_version_string_ctypes:
  - 105
  - 140
  - 142
  - 143
  - 127
  packaging._manylinux._have_compatible_abi:
  - 69
  - 56
  - 57
  - 58
  - 59
  packaging._manylinux._is_compatible:
  - 192
  - 193
  - 194
  - 196
  - 197
  - 198
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  - 183
  - 184
  - 191
  packaging._manylinux._is_linux_armhf:
  - 34
  packaging._manylinux._is_linux_i686:
  - 46
  packaging._manylinux._parse_elf:
  - 24
  - 25
  - 27
  packaging._manylinux._parse_glibc_version:
  - 161
  - 162
  - 163
  - 170
  - 154
  packaging._manylinux.platform_tags:
  - 256
  - 257
  - 258
  - 260
  - 262
  - 263
  - 219
  - 229
  - 232
  - 233
  - 235
  - 236
  - 244
  - 246
  - 247
  - 248
  - 249
  - 254
  - 255
  packaging._musllinux:
  - 1
  - 75
  - 78
  - 79
  - 81
  - 82
  - 83
  - 84
  - 85
  packaging._musllinux._get_musl_version:
  - 35
  - 46
  - 47
  - 50
  - 52
  - 53
  packaging._musllinux._parse_musl_version:
  - 24
  - 25
  - 27
  - 28
  - 30
  packaging._musllinux.platform_tags:
  - 67
  - 68
  - 70
  - 71
  - 72
  - 57
  packaging._parser:
  - 1
  packaging._parser.Op.serialize:
  - 41
  packaging._parser.Variable.serialize:
  - 31
  packaging._parser._parse_extras:
  - 161
  - 164
  - 169
  - 170
  - 171
  - 158
  packaging._parser._parse_extras_list:
  - 194
  - 195
  - 197
  - 198
  - 177
  - 182
  - 185
  - 188
  - 189
  - 190
  - 191
  packaging._parser._parse_full_marker:
  - 257
  - 258
  packaging._parser._parse_marker:
  - 263
  - 266
  - 267
  - 268
  - 269
  - 270
  packaging._parser._parse_marker_atom:
  - 288
  - 289
  - 291
  - 292
  - 275
  - 280
  - 281
  - 282
  - 287
  packaging._parser._parse_marker_item:
  - 297
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  packaging._parser._parse_marker_op:
  - 337
  - 340
  - 341
  - 342
  - 343
  - 344
  - 345
  - 346
  - 347
  - 348
  - 349
  - 351
  packaging._parser._parse_marker_var:
  - 311
  - 314
  - 315
  - 316
  - 317
  - 319
  packaging._parser._parse_requirement:
  - 66
  - 69
  - 71
  - 75
  - 77
  - 78
  - 80
  - 81
  - 83
  packaging._parser._parse_requirement_details:
  - 121
  - 98
  - 99
  - 100
  - 103
  - 104
  - 107
  - 110
  - 113
  - 118
  - 119
  - 89
  - 124
  packaging._parser._parse_requirement_marker:
  - 140
  - 144
  - 145
  - 149
  - 151
  - 152
  packaging._parser._parse_specifier:
  - 204
  - 208
  - 213
  - 214
  - 215
  packaging._parser._parse_version_many:
  - 225
  - 227
  - 228
  - 229
  - 234
  - 235
  - 240
  - 241
  - 243
  - 244
  - 221
  packaging._parser.parse_marker:
  - 253
  packaging._parser.parse_requirement:
  - 62
  packaging._parser.process_env_var:
  - 328
  - 325
  - 326
  packaging._parser.process_python_str:
  - 332
  - 333
  packaging._structures:
  - 32
  - 61
  packaging._structures.InfinityType.__eq__:
  - 20
  packaging._structures.InfinityType.__hash__:
  - 11
  packaging._structures.NegativeInfinityType.__eq__:
  - 49
  packaging._structures.NegativeInfinityType.__hash__:
  - 40
  packaging._tokenizer:
  - 60
  - 46
  - 76
  packaging._tokenizer.ParserSyntaxError:
  - 19
  packaging._tokenizer.ParserSyntaxError.__init__:
  - 32
  packaging._tokenizer.ParserSyntaxError.__str__:
  - 36
  packaging._tokenizer.Tokenizer:
  - 91
  packaging._tokenizer.Tokenizer.__init__:
  - 105
  packaging._tokenizer.Tokenizer.check:
  - 129
  - 130
  - 132
  - 133
  - 116
  packaging._tokenizer.Tokenizer.consume:
  - 112
  - 113
  - 111
  packaging._tokenizer.Tokenizer.enclosing_tokens:
  - 194
  - 177
  - 179
  - 183
  - 185
  - 188
  - 189
  packaging._tokenizer.Tokenizer.expect:
  - 137
  - 141
  - 143
  packaging._tokenizer.Tokenizer.raise_syntax_error:
  - 162
  packaging._tokenizer.Tokenizer.read:
  - 146
  - 150
  packaging.licenses:
  - 45
  - 47
  packaging.licenses.InvalidLicenseExpression:
  - 51
  packaging.licenses.canonicalize_license_expression:
  - 129
  - 130
  - 133
  - 135
  - 138
  - 140
  - 142
  - 144
  - 63
  - 69
  - 72
  - 73
  - 74
  - 79
  - 81
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 96
  - 98
  - 100
  - 104
  - 110
  - 111
  - 112
  - 115
  - 116
  - 120
  - 122
  packaging.markers:
  - 166
  - 167
  packaging.markers.Environment:
  - 66
  - 102
  - 73
  - 107
  - 110
  - 80
  - 51
  - 54
  - 87
  - 60
  - 94
  packaging.markers.InvalidMarker:
  - 31
  packaging.markers.Marker.__eq__:
  - 296
  - 299
  packaging.markers.Marker.__hash__:
  - 293
  packaging.markers.Marker.__init__:
  - 266
  packaging.markers.Marker.__str__:
  - 287
  packaging.markers.Marker.evaluate:
  - 320
  - 302
  - 310
  - 312
  - 313
  - 316
  - 319
  packaging.markers.UndefinedComparison:
  - 37
  packaging.markers.UndefinedEnvironmentName:
  - 43
  packaging.markers._eval_op:
  - 179
  - 183
  - 185
  - 186
  - 189
  packaging.markers._evaluate_markers:
  - 224
  - 225
  - 228
  - 229
  - 231
  - 207
  - 208
  - 210
  - 211
  - 212
  - 215
  packaging.markers._format_marker:
  - 160
  - 140
  - 146
  - 147
  - 148
  - 149
  - 151
  - 153
  - 154
  - 155
  - 156
  - 158
  - 159
  packaging.markers._normalize:
  - 197
  - 198
  packaging.markers._normalize_extra_values:
  - 128
  - 129
  - 130
  - 131
  - 132
  - 122
  - 125
  - 127
  packaging.markers._repair_python_full_version:
  - 329
  - 325
  packaging.markers.default_environment:
  - 243
  - 249
  - 250
  - 251
  - 252
  - 253
  - 254
  - 255
  packaging.markers.format_full_version:
  - 237
  - 238
  packaging.metadata:
  - 27
  - 462
  - 469
  - 24
  - 283
  packaging.metadata.ExceptionGroup:
  - 32
  packaging.metadata.InvalidMetadata:
  - 50
  - 53
  packaging.metadata.InvalidMetadata.__init__:
  - 57
  packaging.metadata.Metadata:
  - 784
  - 785
  - 789
  - 790
  - 793
  - 794
  - 795
  - 798
  - 800
  - 801
  - 802
  - 803
  - 804
  - 805
  - 806
  - 807
  - 808
  - 809
  - 810
  - 811
  - 812
  - 813
  - 814
  - 815
  - 816
  - 689
  - 817
  - 818
  - 819
  - 820
  - 821
  - 822
  - 823
  - 824
  - 825
  - 826
  - 829
  - 830
  - 831
  - 832
  - 833
  - 834
  - 837
  - 838
  - 841
  - 844
  - 845
  - 846
  - 847
  - 850
  - 853
  - 854
  - 855
  - 856
  - 857
  - 858
  - 859
  - 860
  - 861
  - 862
  - 863
  packaging.metadata.Metadata.from_email:
  - 768
  - 772
  - 774
  - 778
  - 758
  - 763
  - 765
  - 767
  packaging.metadata.Metadata.from_raw:
  - 706
  - 707
  - 738
  - 709
  - 740
  - 733
  - 713
  - 745
  - 715
  - 747
  - 749
  - 751
  - 720
  - 724
  - 726
  - 732
  - 701
  - 735
  packaging.metadata.RawMetadata:
  - 65
  packaging.metadata._Validator:
  - 473
  packaging.metadata._Validator.__get__:
  - 514
  - 522
  - 502
  - 508
  - 510
  packaging.metadata._Validator._invalid_metadata:
  - 528
  - 527
  packaging.metadata._Validator._process_description_content_type:
  - 580
  - 585
  - 586
  - 592
  - 593
  - 570
  - 575
  packaging.metadata._Validator._process_dynamic:
  - 601
  - 602
  - 606
  - 610
  packaging.metadata._Validator._process_license_expression:
  - 654
  packaging.metadata._Validator._process_license_files:
  - 672
  - 673
  - 674
  - 679
  - 684
  - 662
  - 663
  - 668
  packaging.metadata._Validator._process_metadata_version:
  - 537
  - 535
  packaging.metadata._Validator._process_name:
  - 544
  - 540
  packaging.metadata._Validator._process_provides_extra:
  - 618
  - 619
  packaging.metadata._Validator._process_requires_dist:
  - 641
  - 642
  packaging.metadata._Validator._process_requires_python:
  - 629
  packaging.metadata._Validator._process_summary:
  - 563
  - 564
  packaging.metadata._Validator._process_version:
  - 553
  - 556
  packaging.metadata._get_payload:
  - 224
  - 225
  - 226
  - 231
  - 232
  - 234
  - 221
  packaging.metadata._parse_keywords:
  - 176
  - 177
  packaging.metadata._parse_project_urls:
  - 201
  - 202
  - 210
  - 181
  - 183
  packaging.metadata.parse_email:
  - 398
  - 403
  - 410
  - 411
  - 287
  - 421
  - 423
  - 305
  - 306
  - 308
  - 436
  - 438
  - 439
  - 313
  - 442
  - 316
  - 445
  - 446
  - 447
  - 321
  - 450
  - 451
  - 459
  - 334
  - 337
  - 347
  - 352
  - 354
  - 361
  - 366
  - 369
  - 374
  - 378
  - 379
  packaging.requirements.InvalidRequirement:
  - 16
  packaging.requirements.Requirement:
  - 22
  packaging.requirements.Requirement.__eq__:
  - 82
  - 86
  packaging.requirements.Requirement.__hash__:
  - 74
  - 77
  packaging.requirements.Requirement.__init__:
  - 36
  - 42
  - 43
  - 45
  - 46
  - 47
  packaging.requirements.Requirement.__str__:
  - 68
  packaging.requirements.Requirement._iter_parts:
  - 64
  - 65
  - 50
  - 52
  - 53
  - 54
  - 56
  - 57
  - 59
  - 60
  - 61
  - 62
  packaging.specifiers:
  - 627
  - 4
  - 22
  packaging.specifiers.BaseSpecifier.__eq__:
  - 60
  packaging.specifiers.BaseSpecifier.__hash__:
  - 54
  packaging.specifiers.BaseSpecifier.__str__:
  - 47
  packaging.specifiers.BaseSpecifier.contains:
  - 85
  packaging.specifiers.BaseSpecifier.filter:
  - 93
  packaging.specifiers.BaseSpecifier.prereleases:
  - 78
  - 70
  packaging.specifiers.InvalidSpecifier:
  - 33
  packaging.specifiers.Specifier:
  - 100
  - 206
  packaging.specifiers.Specifier.__contains__:
  - 501
  - 519
  packaging.specifiers.Specifier.__eq__:
  - 352
  - 354
  - 357
  - 334
  packaging.specifiers.Specifier.__hash__:
  - 331
  packaging.specifiers.Specifier.__init__:
  - 235
  - 236
  - 240
  - 241
  - 223
  packaging.specifiers.Specifier.__repr__:
  - 310
  - 295
  packaging.specifiers.Specifier.__str__:
  - 320
  - 313
  packaging.specifiers.Specifier._canonical_spec:
  - 324
  packaging.specifiers.Specifier._compare_arbitrary:
  - 498
  packaging.specifiers.Specifier._compare_compatible:
  - 384
  - 377
  - 378
  packaging.specifiers.Specifier._compare_equal:
  - 418
  - 390
  - 423
  - 392
  - 424
  - 396
  - 399
  - 404
  - 408
  - 413
  packaging.specifiers.Specifier._compare_greater_than:
  - 482
  - 483
  - 488
  - 489
  - 470
  - 475
  packaging.specifiers.Specifier._compare_greater_than_equal:
  - 441
  packaging.specifiers.Specifier._compare_less_than:
  - 458
  - 451
  - 446
  - 459
  packaging.specifiers.Specifier._compare_less_than_equal:
  - 435
  packaging.specifiers.Specifier._compare_not_equal:
  - 429
  packaging.specifiers.Specifier._get_operator:
  - 363
  packaging.specifiers.Specifier.contains:
  - 547
  - 552
  - 522
  - 557
  - 562
  - 563
  packaging.specifiers.Specifier.filter:
  - 609
  - 612
  - 617
  - 622
  - 623
  - 624
  - 568
  - 602
  - 603
  - 605
  packaging.specifiers.Specifier.operator:
  - 278
  packaging.specifiers.Specifier.prereleases:
  - 267
  - 259
  - 252
  - 262
  packaging.specifiers.Specifier.version:
  - 287
  packaging.specifiers.SpecifierSet:
  - 691
  packaging.specifiers.SpecifierSet.__and__:
  - 803
  - 804
  - 805
  - 808
  - 809
  - 811
  - 813
  - 815
  - 794
  packaging.specifiers.SpecifierSet.__contains__:
  - 866
  - 884
  packaging.specifiers.SpecifierSet.__eq__:
  - 826
  - 844
  - 845
  - 846
  packaging.specifiers.SpecifierSet.__hash__:
  - 791
  packaging.specifiers.SpecifierSet.__init__:
  - 719
  - 722
  - 726
  - 729
  - 702
  packaging.specifiers.SpecifierSet.__iter__:
  - 856
  - 863
  packaging.specifiers.SpecifierSet.__len__:
  - 852
  - 853
  packaging.specifiers.SpecifierSet.__repr__:
  - 757
  - 775
  packaging.specifiers.SpecifierSet.__str__:
  - 778
  - 788
  packaging.specifiers.SpecifierSet.contains:
  - 931
  - 934
  - 935
  - 941
  - 916
  - 917
  - 922
  - 892
  packaging.specifiers.SpecifierSet.filter:
  - 993
  - 994
  - 995
  - 996
  - 1004
  - 1005
  - 1009
  - 946
  - 1010
  - 1011
  - 1013
  - 1017
  - 1018
  - 987
  - 1020
  packaging.specifiers.SpecifierSet.prereleases:
  - 745
  - 739
  - 750
  packaging.specifiers._coerce_version:
  - 27
  - 28
  packaging.specifiers._is_not_suffix:
  - 664
  - 665
  packaging.specifiers._pad_version:
  - 673
  - 674
  - 677
  - 678
  - 681
  - 682
  - 685
  - 686
  packaging.specifiers._pad_version.<lambda1>:
  - 673
  packaging.specifiers._pad_version.<lambda2>:
  - 674
  packaging.specifiers._version_join:
  - 660
  - 653
  packaging.specifiers._version_split:
  - 640
  - 641
  - 643
  - 644
  - 645
  - 646
  - 648
  - 631
  packaging.tags:
  - 25
  - 39
  packaging.tags.Tag:
  - 43
  packaging.tags.Tag.__eq__:
  - 76
  packaging.tags.Tag.__init__:
  - 61
  - 53
  - 54
  - 55
  packaging.tags.Tag.__repr__:
  - 93
  packaging.tags._abi3_applies:
  - 148
  - 142
  packaging.tags._cpython_abis:
  - 162
  - 164
  - 166
  - 167
  - 168
  - 170
  - 171
  - 172
  - 176
  - 179
  - 180
  - 152
  - 154
  - 156
  - 157
  packaging.tags._generic_abi:
  - 258
  - 259
  - 261
  - 262
  - 264
  - 266
  - 268
  - 269
  - 271
  - 272
  - 273
  - 274
  - 275
  - 244
  - 276
  - 281
  packaging.tags._generic_platforms:
  - 553
  packaging.tags._get_config_var:
  - 113
  - 114
  - 115
  packaging.tags._is_threaded_cpython:
  - 131
  - 134
  - 135
  - 137
  - 126
  packaging.tags._linux_platforms:
  - 544
  - 545
  - 546
  - 547
  - 548
  - 549
  - 534
  - 535
  - 537
  - 539
  - 540
  - 542
  packaging.tags._mac_arch:
  - 356
  - 359
  packaging.tags._mac_binary_formats:
  - 384
  - 386
  - 388
  - 389
  - 391
  - 392
  - 367
  - 368
  - 370
  - 372
  - 373
  - 375
  - 377
  - 379
  - 381
  - 383
  packaging.tags._normalize_string:
  - 122
  packaging.tags._py_interpreter_range:
  - 322
  - 323
  - 324
  - 325
  - 326
  - 327
  - 316
  packaging.tags._version_nodot:
  - 594
  packaging.tags.compatible_tags:
  - 352
  - 335
  - 343
  - 345
  - 346
  - 347
  - 348
  - 349
  - 350
  - 351
  packaging.tags.cpython_tags:
  - 191
  - 206
  - 209
  - 211
  - 212
  - 213
  - 216
  - 218
  - 220
  - 224
  - 225
  - 226
  - 227
  - 229
  - 230
  - 231
  - 232
  - 233
  - 235
  - 236
  - 237
  - 238
  - 240
  packaging.tags.generic_tags:
  - 291
  - 299
  - 300
  - 301
  - 302
  - 303
  - 304
  - 306
  - 307
  - 308
  - 309
  - 310
  - 311
  - 312
  packaging.tags.interpreter_name:
  - 578
  - 571
  packaging.tags.interpreter_version:
  - 582
  - 585
  - 586
  - 587
  - 589
  packaging.tags.ios_platforms:
  - 515
  - 489
  - 521
  - 511
  - 522
  - 493
  - 494
  - 526
  - 496
  - 527
  - 498
  - 528
  - 479
  packaging.tags.mac_platforms:
  - 400
  - 408
  - 409
  - 410
  - 411
  - 414
  - 426
  - 429
  - 430
  - 434
  - 438
  - 440
  - 441
  - 442
  - 444
  - 448
  - 450
  - 451
  - 452
  - 454
  - 463
  - 464
  - 466
  - 467
  - 468
  - 470
  - 473
  packaging.tags.parse_tag:
  - 97
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  packaging.tags.platform_tags:
  - 557
  - 560
  - 561
  - 562
  - 563
  - 564
  - 565
  - 567
  packaging.tags.sys_tags:
  - 609
  - 611
  - 613
  - 614
  - 617
  - 598
  - 605
  - 606
  - 607
  packaging.utils:
  - 37
  - 40
  - 41
  - 43
  - 15
  packaging.utils.InvalidName:
  - 19
  packaging.utils.InvalidSdistFilename:
  - 31
  packaging.utils.InvalidWheelFilename:
  - 25
  packaging.utils._:
  - 91
  - 87
  packaging.utils.canonicalize_name:
  - 50
  - 51
  - 47
  packaging.utils.canonicalize_version:
  - 81
  - 62
  packaging.utils.is_normalized_name:
  - 55
  packaging.utils.parse_sdist_filename:
  - 138
  - 139
  - 140
  - 141
  - 150
  - 151
  - 154
  - 157
  packaging.utils.parse_wheel_filename:
  - 97
  - 130
  - 133
  - 103
  - 104
  - 109
  - 112
  - 114
  - 117
  - 123
  - 125
  - 126
  packaging.version:
  - 508
  - 4
  - 149
  packaging.version.InvalidVersion:
  - 60
  packaging.version.Version:
  - 185
  - 162
  packaging.version.Version.__init__:
  - 200
  - 201
  - 205
  - 206
  - 207
  - 208
  - 209
  - 210
  - 212
  - 213
  - 217
  - 189
  packaging.version.Version.__repr__:
  - 227
  packaging.version.Version.__str__:
  - 258
  - 259
  - 262
  - 263
  - 265
  - 235
  - 243
  - 244
  - 247
  - 250
  - 251
  - 254
  - 255
  packaging.version.Version.base_version:
  - 360
  - 375
  - 376
  - 379
  - 381
  packaging.version.Version.dev:
  - 322
  packaging.version.Version.epoch:
  - 269
  packaging.version.Version.is_devrelease:
  - 413
  packaging.version.Version.is_postrelease:
  - 402
  packaging.version.Version.is_prerelease:
  - 385
  packaging.version.Version.local:
  - 341
  - 340
  - 333
  packaging.version.Version.major:
  - 424
  - 429
  packaging.version.Version.micro:
  - 451
  - 444
  packaging.version.Version.minor:
  - 440
  - 433
  packaging.version.Version.post:
  - 311
  packaging.version.Version.pre:
  - 296
  packaging.version.Version.public:
  - 347
  - 356
  packaging.version.Version.release:
  - 280
  packaging.version._BaseVersion.__eq__:
  - 91
  packaging.version._BaseVersion.__ge__:
  - 97
  packaging.version._BaseVersion.__gt__:
  - 103
  packaging.version._BaseVersion.__hash__:
  - 73
  packaging.version._BaseVersion.__le__:
  - 85
  packaging.version._BaseVersion.__lt__:
  - 79
  packaging.version._BaseVersion.__ne__:
  - 109
  packaging.version._TrimmedRelease.release:
  - 457
  - 466
  - 467
  - 465
  packaging.version._cmpkey:
  - 544
  - 578
  - 579
  - 548
  - 554
  - 561
  - 567
  - 536
  - 537
  packaging.version._parse_letter_version:
  - 481
  - 486
  - 488
  - 490
  - 492
  - 495
  - 498
  - 503
  - 474
  - 477
  packaging.version._parse_local_version:
  - 512
  - 515
  - 516
  - 517
  - 518
  packaging.version.parse:
  - 48
  - 56
Fuzzer filename: /src/fuzz_packaging.py
Inheritance:
  packaging._elffile.EIClass: []
  packaging._elffile.EIData: []
  packaging._elffile.ELFFile: []
  packaging._elffile.ELFInvalid:
  - ValueError
  packaging._elffile.EMachine: []
  packaging._manylinux._GLibCVersion:
  - NamedTuple
  packaging._musllinux._MuslVersion:
  - NamedTuple
  packaging._parser.Node: []
  packaging._parser.Op:
  - Node
  packaging._parser.ParsedRequirement:
  - NamedTuple
  packaging._parser.Value:
  - Node
  packaging._parser.Variable:
  - Node
  packaging._structures.InfinityType: []
  packaging._structures.NegativeInfinityType: []
  packaging._tokenizer.ParserSyntaxError:
  - Exception
  packaging._tokenizer.Token: []
  packaging._tokenizer.Tokenizer: []
  packaging.licenses.InvalidLicenseExpression:
  - ValueError
  packaging.licenses._spdx.SPDXException:
  - TypedDict
  packaging.licenses._spdx.SPDXLicense:
  - TypedDict
  packaging.markers.Environment:
  - TypedDict
  packaging.markers.InvalidMarker:
  - ValueError
  packaging.markers.Marker: []
  packaging.markers.UndefinedComparison:
  - ValueError
  packaging.markers.UndefinedEnvironmentName:
  - ValueError
  packaging.metadata.ExceptionGroup:
  - Exception
  packaging.metadata.InvalidMetadata:
  - ValueError
  packaging.metadata.Metadata: []
  packaging.metadata.RawMetadata:
  - TypedDict
  packaging.metadata._Validator: []
  packaging.requirements.InvalidRequirement:
  - ValueError
  packaging.requirements.Requirement: []
  packaging.specifiers.BaseSpecifier: []
  packaging.specifiers.InvalidSpecifier:
  - ValueError
  packaging.specifiers.Specifier:
  - BaseSpecifier
  packaging.specifiers.SpecifierSet:
  - BaseSpecifier
  packaging.tags.Tag: []
  packaging.utils.InvalidName:
  - ValueError
  packaging.utils.InvalidSdistFilename:
  - ValueError
  packaging.utils.InvalidWheelFilename:
  - ValueError
  packaging.version.InvalidVersion:
  - ValueError
  packaging.version.Version:
  - _BaseVersion
  packaging.version._BaseVersion: []
  packaging.version._TrimmedRelease:
  - Version
  packaging.version._Version:
  - NamedTuple
ep:
  func_name: TestOneInput
  module: '...fuzz_packaging'
