All classes:
- jose.backends.base.Key
- jose.backends.base.DIRKey
- jose.constants.Algorithms
- jose.constants.Zips
- jose.exceptions.JOSEError
- jose.exceptions.JWSError
- jose.exceptions.JWSSignatureError
- jose.exceptions.JWSAlgorithmError
- jose.exceptions.JWTError
- jose.exceptions.JWTClaimsError
- jose.exceptions.ExpiredSignatureError
- jose.exceptions.JWKError
- jose.exceptions.JWEError
- jose.exceptions.JWEParseError
- jose.exceptions.JWEInvalidAuth
- jose.exceptions.JWEAlgorithmUnsupportedError
- jose.backends.native.HMACKey
- jose.backends.cryptography_backend.CryptographyECKey
- jose.backends.cryptography_backend.CryptographyRSAKey
- jose.backends.cryptography_backend.CryptographyAESKey
- jose.backends.cryptography_backend.CryptographyHMACKey
- jose.backends._asn1.RsaAlgorithmIdentifier
- jose.backends._asn1.PKCS8PrivateKey
- jose.backends._asn1.PublicKeyInfo
- jose.backends.rsa_backend.RSAKey
- jose.backends.ecdsa_backend.ECDSAECKey
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_jwe'
    functionSourceFile: '...fuzz_jwe'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - '...fuzz_jwe.main'
    - atheris.Fuzz
    - atheris.Setup
    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: 4
    functionLinenumber: 25
    functionName: '...fuzz_jwe.TestOneInput'
    functionSourceFile: '...fuzz_jwe'
    functionUses: 0
    functionsReached:
    - jose.utils.base64url_decode
    - jwe_bytes.split
    - fdp.ConsumeUnicodeNoSurrogates
    - atheris.FuzzedDataProvider
    - <builtin>.len
    - base64.urlsafe_b64decode
    - s.encode
    - fdp.ConsumeIntInRange
    - jose.utils.ensure_binary
    - jose.jwe._jwe_compact_deserialize
    - <builtin>.isinstance
    - jose.jwe.get_unverified_header
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: fdp.ConsumeIntInRange
    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: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwe_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 199
    functionName: jose.jwe.get_unverified_header
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - jose.utils.base64url_decode
    - jwe_bytes.split
    - <builtin>.len
    - base64.urlsafe_b64decode
    - s.encode
    - jose.utils.ensure_binary
    - jose.jwe._jwe_compact_deserialize
    - <builtin>.isinstance
    - json.loads
    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: 34
    functionName: '...fuzz_jwe.main'
    functionSourceFile: '...fuzz_jwe'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.jwe
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Attribute object at 0x7fc9c4e81b50>
    - <ast.Attribute object at 0x7fc9c4e81cd0>
    - <ast.Constant object at 0x7fc9c4e81760>
    - <ast.Constant object at 0x7fc9c4e81340>
    - <ast.Constant object at 0x7fc9c4e81520>
    argNames:
    - plaintext
    - key
    - encryption
    - algorithm
    - zip
    - cty
    - kid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 14
    functionName: jose.jwe.encrypt
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - os.urandom
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - encryption_key.encrypt
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - struct.pack
    - jose.backends.native.get_random_bytes
    - <builtin>.pow
    - jose.jwe._get_hmac_key
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.jwe._get_key_bytes_from_key
    - jose.jwe._encoded_header
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - key.wrap_key
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.jwe._get_key_wrap_cek
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - mac_key.sign
    - rsa.PublicKey.load_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - jose.jwe._encrypt_and_auth
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - jose.jwe._get_direct_key_wrap_cek
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - jose.utils.int_arr_to_long
    - jose.jwe._compress
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._get_cek
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - jose.jwe._auth_tag
    - json.dumps
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - base64.urlsafe_b64encode
    - jose.jwe._big_endian
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - key.to_dict
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - jose.jwe._get_random_cek_bytes_for_enc
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - zlib.compress
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.jwe._jwe_compact_serialize
    - enc.split
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: jose.utils.ensure_binary
    functionSourceFile: jose.utils
    functionUses: 25
    functionsReached:
    - <builtin>.isinstance
    - s.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c50c6e20>
    argNames:
    - key_data
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 63
    functionName: jose.jwk.construct
    functionSourceFile: jose.jwk
    functionUses: 13
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - alg
    - enc
    - zip
    - cty
    - kid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 337
    functionName: jose.jwe._encoded_header
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - base64.urlsafe_b64encode
    - json.dumps
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - zip
    - plaintext
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 422
    functionName: jose.jwe._compress
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - zlib.compress
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - key
    - alg
    - enc
    - zip
    - plaintext
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 369
    functionName: jose.jwe._encrypt_and_auth
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - os.urandom
    - encryption_key.encrypt
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - struct.pack
    - jose.backends.native.get_random_bytes
    - <builtin>.pow
    - jose.jwe._get_hmac_key
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.jwe._get_key_bytes_from_key
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - key.wrap_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.sorted
    - ecdsa.VerifyingKey.from_pem
    - jose.jwe._get_key_wrap_cek
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - mac_key.sign
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - jose.jwe._get_direct_key_wrap_cek
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._get_cek
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - jose.jwe._auth_tag
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - jose.jwe._big_endian
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - key.to_dict
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - jose.jwe._get_random_cek_bytes_for_enc
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - enc.split
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - encoded_header
    - encrypted_cek
    - iv
    - cipher_text
    - auth_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 590
    functionName: jose.jwe._jwe_compact_serialize
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - base64.urlsafe_b64encode
    - s.encode
    - jose.utils.base64url_encode
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - jwe_str
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 60
    functionName: jose.jwe.decrypt
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - key.unwrap_key
    - jose.backends.native.HMACKey._process_jwk
    - os.urandom
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - struct.pack
    - jose.backends.native.get_random_bytes
    - jose.jwe._jwe_compact_deserialize
    - jose.jwe._decompress
    - jose.jwe._get_hmac_key
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - header.get
    - jose.utils.is_pem_format
    - zlib.decompressobj
    - jose.jwe._get_key_bytes_from_key
    - jose.jwe._decrypt_and_auth
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.sorted
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - mac_key.sign
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - encryption_key.decrypt
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - jose.jwe._auth_tag
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - jwe_bytes.split
    - public.public_key
    - jose.jwe._big_endian
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - key.to_dict
    - jose.utils.is_ssh_key
    - json.loads
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - jose.jwe._get_random_cek_bytes_for_enc
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - enc.split
    - decompressor.decompress
    linkageType: pythonLinkage
    raised:
    - JWEError
    - JWEParseError
    returnType: N/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: 58
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwe_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 263
    functionName: jose.jwe._jwe_compact_deserialize
    functionSourceFile: jose.jwe
    functionUses: 3
    functionsReached:
    - jose.utils.base64url_decode
    - jwe_bytes.split
    - <builtin>.len
    - base64.urlsafe_b64decode
    - s.encode
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - json.loads
    linkageType: pythonLinkage
    raised:
    - JWEParseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 512
    functionName: jose.jwe._get_key_bytes_from_key
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - jose.utils.base64url_decode
    - <builtin>.len
    - base64.urlsafe_b64decode
    - key.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.unwrap_key
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - enc
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 543
    functionName: jose.jwe._get_random_cek_bytes_for_enc
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - os.urandom
    - jose.backends.native.get_random_bytes
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues: []
    argNames:
    - cek_bytes
    - enc
    - cipher_text
    - iv
    - aad
    - auth_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 215
    functionName: jose.jwe._decrypt_and_auth
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - struct.pack
    - <builtin>.pow
    - jose.jwe._get_hmac_key
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - mac_key.sign
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - encryption_key.decrypt
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - jose.jwe._auth_tag
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - jose.jwe._big_endian
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - enc.split
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - zip
    - compressed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 444
    functionName: jose.jwe._decompress
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - zlib.decompressobj
    - decompressor.decompress
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cek_bytes
    - enc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 253
    functionName: jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    functionSourceFile: jose.jwe
    functionUses: 4
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jose.jwe._get_hmac_key
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - enc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - ciphertext
    - iv
    - aad
    - mac_key
    - tag_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 569
    functionName: jose.jwe._auth_tag
    functionSourceFile: jose.jwe
    functionUses: 4
    functionsReached:
    - struct.pack
    - jose.jwe._big_endian
    - <builtin>.len
    - mac_key.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encryption_key.decrypt
    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:
    - enc
    - mac_key_bytes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 406
    functionName: jose.jwe._get_hmac_key
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - enc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enc.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: jwe_bytes.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: jose.utils.base64url_decode
    functionSourceFile: jose.utils
    functionUses: 31
    functionsReached:
    - base64.urlsafe_b64decode
    - <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: json.loads
    functionSourceFile: json
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jose.utils.base64url_encode
    functionSourceFile: jose.utils
    functionUses: 16
    functionsReached:
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - int_val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: jose.jwe._big_endian
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - struct.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pack
    functionSourceFile: struct
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - enc
    - alg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 471
    functionName: jose.jwe._get_cek
    functionSourceFile: jose.jwe
    functionUses: 2
    functionsReached:
    - jose.utils.base64url_decode
    - jose.jwe._get_key_bytes_from_key
    - jose.backends.native.get_random_bytes
    - jose.jwe._get_key_wrap_cek
    - os.urandom
    - jose.jwe._get_direct_key_wrap_cek
    - base64.urlsafe_b64decode
    - <builtin>.len
    - <builtin>.bytes
    - key.to_dict
    - key.wrap_key
    - jose.jwe._get_random_cek_bytes_for_enc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encryption_key.encrypt
    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: zlib.compress
    functionSourceFile: zlib
    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: zlib.decompressobj
    functionSourceFile: zlib
    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: decompressor.decompress
    functionSourceFile: <builtin>
    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:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 491
    functionName: jose.jwe._get_direct_key_wrap_cek
    functionSourceFile: jose.jwe
    functionUses: 3
    functionsReached:
    - jose.utils.base64url_decode
    - jose.jwe._get_key_bytes_from_key
    - <builtin>.len
    - base64.urlsafe_b64decode
    - key.to_dict
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - enc
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 527
    functionName: jose.jwe._get_key_wrap_cek
    functionSourceFile: jose.jwe
    functionUses: 3
    functionsReached:
    - jose.backends.native.get_random_bytes
    - os.urandom
    - <builtin>.bytes
    - key.wrap_key
    - jose.jwe._get_random_cek_bytes_for_enc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.to_dict
    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: key.wrap_key
    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:
    - num_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jose.backends.native.get_random_bytes
    functionSourceFile: jose.backends.native
    functionUses: 6
    functionsReached:
    - os.urandom
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mac_key.sign
    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: jose.jwk
    functionSourceFile: jose.jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - algorithm
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: jose.jwk.get_key
    functionSourceFile: jose.jwk
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - algorithm
    - key_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jose.jwk.register_key
    functionSourceFile: jose.jwk
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - ALGORITHMS.SUPPORTED.add
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    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: ALGORITHMS.SUPPORTED.add
    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: key_data.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 125
    functionName: jose.backends.rsa_backend.RSAKey.__init__
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 15
    functionsReached:
    - data.encode
    - rsa.PrivateKey
    - jose.utils.int_arr_to_long
    - <builtin>.all
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - rsa.pem.load_pem
    - <builtin>.len
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.pow
    - rsa.PrivateKey.load_pkcs1
    - pkcs8_key.startswith
    - <builtin>.divmod
    - jose.backends.rsa_backend._gcd
    - rsa.PublicKey
    - <builtin>.int
    - pyasn1.codec.der.decoder.decode
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.bytes
    - <builtin>.sorted
    - <builtin>.any
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - <builtin>.isinstance
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - rsa.PublicKey.load_pkcs1
    - jwk_dict.get
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - struct.unpack
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fc9c4364790>
    argNames:
    - self
    - key
    - algorithm
    - cryptography_backend
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 38
    functionName: jose.backends.cryptography_backend.CryptographyECKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - private.private_key
    - data.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.utils.int_arr_to_long
    - public.public_key
    - <builtin>.all
    - <builtin>.len
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - <builtin>.int
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - <builtin>.isinstance
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fc9c4acff10>
    argNames:
    - self
    - key
    - algorithm
    - cryptography_backend
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 212
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - key.startswith
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - private.private_key
    - data.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - jose.utils.int_arr_to_long
    - public.public_key
    - <builtin>.all
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - <builtin>.int
    - <builtin>.bytes
    - <builtin>.any
    - <builtin>.isinstance
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - key.encode
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.utils.base64_to_long
    - cryptography.x509.load_pem_x509_certificate
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 23
    functionName: jose.backends.native.HMACKey.__init__
    functionSourceFile: jose.backends.native
    functionUses: 14
    functionsReached:
    - jose.utils.base64url_decode
    - <builtin>.bool
    - ssh_pubkey_match.group
    - jwk_dict.get
    - k.encode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.len
    - base64.urlsafe_b64decode
    - <builtin>.bytes
    - _PEM_RE.search
    - _SSH_PUBKEY_RC.match
    - <builtin>.any
    - jose.utils.is_pem_format
    - <builtin>.isinstance
    - jose.utils.is_ssh_key
    - key.encode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key_data
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jose.backends.base.DIRKey.__init__
    functionSourceFile: jose.backends.base
    functionUses: 14
    functionsReached:
    - <builtin>.isinstance
    - s.encode
    - jose.utils.ensure_binary
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 527
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - jose.utils.base64url_decode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - <builtin>.bool
    - ssh_pubkey_match.group
    - jwk_dict.get
    - k.encode
    - <builtin>.len
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    - _PEM_RE.search
    - _SSH_PUBKEY_RC.match
    - <builtin>.any
    - jose.utils.is_pem_format
    - <builtin>.isinstance
    - jose.utils.is_ssh_key
    - key.encode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - ALGORITHMS.SUPPORTED.union
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 36
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.__init__
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 14
    functionsReached:
    - data.encode
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.int_arr_to_long
    - <builtin>.all
    - <builtin>.len
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - <builtin>.int
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - key.encode
    - ecdsa.SigningKey.from_pem
    - jwk_dict.get
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.backends
    functionSourceFile: jose.backends
    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: jose.backends.native
    functionSourceFile: jose.backends.native
    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: os.urandom
    functionSourceFile: os
    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: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: jose.backends.native.HMACKey._process_jwk
    functionSourceFile: jose.backends.native
    functionUses: 15
    functionsReached:
    - jose.utils.base64url_decode
    - jwk_dict.get
    - <builtin>.len
    - k.encode
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: jose.utils.is_pem_format
    functionSourceFile: jose.utils
    functionUses: 16
    functionsReached:
    - _PEM_RE.search
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: jose.utils.is_ssh_key
    functionSourceFile: jose.utils
    functionUses: 16
    functionsReached:
    - _SSH_PUBKEY_RC.match
    - ssh_pubkey_match.group
    - <builtin>.len
    - <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: jwk_dict.get
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.encode
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jose.backends.native.HMACKey.sign
    functionSourceFile: jose.backends.native
    functionUses: 1
    functionsReached:
    - hmac.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.new
    functionSourceFile: hmac
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 61
    functionName: jose.backends.native.HMACKey.verify
    functionSourceFile: jose.backends.native
    functionUses: 0
    functionsReached:
    - hmac.compare_digest
    - jose.backends.native.HMACKey.sign
    - hmac.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.compare_digest
    functionSourceFile: hmac
    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: 64
    functionName: jose.backends.native.HMACKey.to_dict
    functionSourceFile: jose.backends.native
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.constants
    functionSourceFile: jose.constants
    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: RSA_DS.union
    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: jose.constants.Algorithms
    functionSourceFile: jose.constants
    functionUses: 0
    functionsReached:
    - HMAC.union
    - SUPPORTED.union
    - AES_JWE_ENC.union
    - AES_ENC.union
    - EC_DS.union
    - RSA_DS.union
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: EC_DS.union
    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: AES_JWE_ENC.union
    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: AES_ENC.union
    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: HMAC.union
    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: SUPPORTED.union
    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: jose.exceptions
    functionSourceFile: jose.exceptions
    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: jose.backends.base
    functionSourceFile: jose.backends.base
    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
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: jose.backends.base.Key.__init__
    functionSourceFile: jose.backends.base
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: jose.backends.base.Key.sign
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jose.backends.base.Key.verify
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 18
    functionName: jose.backends.base.Key.public_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 21
    functionName: jose.backends.base.Key.to_pem
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jose.backends.base.Key.to_dict
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a03e50>
    argNames:
    - self
    - plain_text
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jose.backends.base.Key.encrypt
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a03070>
    - <ast.Constant object at 0x7fc9c4a03a90>
    - <ast.Constant object at 0x7fc9c4a030a0>
    argNames:
    - self
    - cipher_text
    - iv
    - aad
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: jose.backends.base.Key.decrypt
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: jose.backends.base.Key.wrap_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: jose.backends.base.Key.unwrap_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 84
    functionName: jose.backends.base.DIRKey.to_dict
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: 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: jose.utils
    functionSourceFile: jose.utils
    functionUses: 0
    functionsReached:
    - re.escape
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a95670>
    argNames:
    - n
    - blocksize
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: jose.utils.long_to_bytes
    functionSourceFile: jose.utils
    functionUses: 5
    functionsReached:
    - cryptography.utils.int_to_bytes
    - <builtin>.len
    - ecdsa.ecdsa.int_to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.utils.int_to_bytes
    functionSourceFile: cryptography
    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: ecdsa.ecdsa.int_to_string
    functionSourceFile: ecdsa
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a95970>
    argNames:
    - data
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 26
    functionName: jose.utils.long_to_base64
    functionSourceFile: jose.utils
    functionUses: 4
    functionsReached:
    - cryptography.utils.int_to_bytes
    - base64.urlsafe_b64encode
    - ecdsa.ecdsa.int_to_string
    - jose.utils.long_to_bytes
    - <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: base64.urlsafe_b64encode
    functionSourceFile: base64
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - arr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jose.utils.int_arr_to_long
    functionSourceFile: jose.utils
    functionUses: 24
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: jose.utils.base64_to_long
    functionSourceFile: jose.utils
    functionUses: 23
    functionsReached:
    - jose.utils.int_arr_to_long
    - <builtin>.int
    - <builtin>.len
    - data.encode
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    - struct.unpack
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.encode
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.urlsafe_b64decode
    functionSourceFile: base64
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - access_token
    - hash_alg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 43
    functionName: jose.utils.calculate_at_hash
    functionSourceFile: jose.utils
    functionUses: 4
    functionsReached:
    - base64.urlsafe_b64encode
    - access_token.encode
    - <builtin>.int
    - <builtin>.len
    - jose.utils.base64url_encode
    - at_hash.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: access_token.encode
    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: at_hash.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: 1
    argDefaultValues: []
    argNames:
    - delta
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: jose.utils.timedelta_total_seconds
    functionSourceFile: jose.utils
    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: s.encode
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 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.compile
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _PEM_RE.search
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _SSH_PUBKEY_RC.match
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh_pubkey_match.group
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.backends.cryptography_backend
    functionSourceFile: jose.backends.cryptography_backend
    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>.hasattr
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    functionSourceFile: cryptography
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    functionSourceFile: cryptography
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 83
    functionName: jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.utils.int_arr_to_long
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - public.public_key
    - <builtin>.all
    - private.private_key
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - <builtin>.int
    - jose.utils.base64_to_long
    - <builtin>.len
    - data.encode
    - base64.urlsafe_b64decode
    - struct.unpack
    - <builtin>.bytes
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    functionSourceFile: cryptography
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    functionSourceFile: cryptography
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.backends.default_backend
    functionSourceFile: cryptography
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    functionSourceFile: cryptography
    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>.all
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    functionSourceFile: cryptography
    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: private.private_key
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: public.public_key
    functionSourceFile: <builtin>
    functionUses: 18
    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: 108
    functionName: jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 4
    functionsReached:
    - math.ceil
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.ceil
    functionSourceFile: math
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - der_signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 115
    functionName: jose.backends.cryptography_backend.CryptographyECKey._der_to_raw
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - cryptography.utils.int_to_bytes
    - <builtin>.int
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - raw_signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: jose.backends.cryptography_backend.CryptographyECKey._raw_to_der
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    - math.ceil
    - int.from_bytes
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    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: int.from_bytes
    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: cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 133
    functionName: jose.backends.cryptography_backend.CryptographyECKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.utils.int_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.sign
    - <builtin>.int
    - jose.backends.cryptography_backend.CryptographyECKey._der_to_raw
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.sign
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.sign
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.sign
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 142
    functionName: jose.backends.cryptography_backend.CryptographyECKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.verify
    - jose.backends.cryptography_backend.CryptographyECKey._raw_to_der
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - <builtin>.int
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    - math.ceil
    - int.from_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.verify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.verify
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.verify
    functionSourceFile: cryptography
    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: 150
    functionName: jose.backends.cryptography_backend.CryptographyECKey.is_public
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 153
    functionName: jose.backends.cryptography_backend.CryptographyECKey.public_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    functionSourceFile: cryptography
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 158
    functionName: jose.backends.cryptography_backend.CryptographyECKey.to_pem
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_bytes
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_bytes
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_bytes
    - cryptography.hazmat.primitives.serialization.NoEncryption
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.public_bytes
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.public_bytes
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.NoEncryption
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.private_bytes
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.private_bytes
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 171
    functionName: jose.backends.cryptography_backend.CryptographyECKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - jose.utils.long_to_base64
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_numbers
    - cryptography.utils.int_to_bytes
    - base64.urlsafe_b64encode
    - ecdsa.ecdsa.int_to_string
    - jose.utils.long_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    - <builtin>.len
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_numbers
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_numbers
    - <builtin>.hasattr
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.public_numbers
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.private_numbers
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.private_numbers
    functionSourceFile: cryptography
    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: padding.PKCS1v15
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.hashes.SHA256
    - padding.MGF1
    - padding.PKCS1v15
    - padding.OAEP
    - cryptography.hazmat.primitives.hashes.SHA1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA1
    functionSourceFile: cryptography
    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: padding.MGF1
    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: padding.OAEP
    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: cryptography.hazmat.primitives.hashes.SHA256
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 259
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - private.private_key
    - data.encode
    - jose.utils.int_arr_to_long
    - public.public_key
    - <builtin>.all
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - <builtin>.int
    - <builtin>.bytes
    - <builtin>.any
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jwk_dict.get
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.backends.default_backend
    - cryptography.x509.load_pem_x509_certificate.public_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    functionSourceFile: cryptography
    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: cryptography.x509.load_pem_x509_certificate
    functionSourceFile: cryptography
    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: cryptography.x509.load_pem_x509_certificate.public_key
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.sign
    - padding.PKCS1v15
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.sign
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 311
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.verify
    - jose.backends.cryptography_backend.CryptographyRSAKey.public_key
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - warnings.warn
    - padding.PKCS1v15
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.verify
    - <builtin>.hasattr
    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: 321
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 324
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.public_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a03670>
    argNames:
    - self
    - pem_format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 329
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.to_pem
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_bytes
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_bytes
    - cryptography.hazmat.primitives.serialization.NoEncryption
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 351
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - jose.utils.long_to_base64
    - cryptography.utils.int_to_bytes
    - base64.urlsafe_b64encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - ecdsa.ecdsa.int_to_string
    - jose.utils.long_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    - <builtin>.len
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_numbers
    - data.update
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.update
    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
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.wrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encrypt
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.encrypt
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.encrypt
    functionSourceFile: cryptography
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 386
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.unwrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.decrypt
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.decrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key.decrypt
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.decrypt
    functionSourceFile: cryptography
    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: ALGORITHMS.SUPPORTED.union
    functionSourceFile: <builtin>
    functionUses: 15
    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: 451
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4e947c0>
    argNames:
    - self
    - plain_text
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 455
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.encrypt
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - encryptor.finalize
    - padder.finalize
    - cryptography.hazmat.primitives.ciphers.Cipher
    - cryptography.hazmat.primitives.ciphers.aead.AESGCM
    - cryptography.hazmat.primitives.ciphers.algorithms.AES
    - <builtin>.len
    - cryptography.hazmat.primitives.padding.PKCS7.padder
    - cryptography.hazmat.primitives.padding.PKCS7
    - s.encode
    - cryptography.hazmat.primitives.ciphers.Cipher.encrypt
    - jose.utils.ensure_binary
    - encryptor.update
    - padder.update
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.ciphers.Cipher.encryptor
    - cryptography.hazmat.backends.default_backend
    - get_random_bytes
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: get_random_bytes
    functionSourceFile: get_random_bytes
    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: cryptography.hazmat.primitives.ciphers.aead.AESGCM
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.ciphers.Cipher.encrypt
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.ciphers.algorithms.AES
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.ciphers.Cipher
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.ciphers.Cipher.encryptor
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.padding.PKCS7
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.padding.PKCS7.padder
    functionSourceFile: cryptography
    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: padder.update
    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: padder.finalize
    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: encryptor.update
    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: encryptor.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c5103ca0>
    - <ast.Constant object at 0x7fc9c51030d0>
    - <ast.Constant object at 0x7fc9c51037c0>
    argNames:
    - self
    - cipher_text
    - iv
    - aad
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 478
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.decrypt
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - unpadder.finalize
    - cryptography.hazmat.primitives.ciphers.Cipher
    - cryptography.hazmat.primitives.ciphers.aead.AESGCM
    - unpadder.update
    - cryptography.hazmat.primitives.ciphers.algorithms.AES
    - cryptography.hazmat.primitives.ciphers.Cipher.decrypt
    - cryptography.hazmat.primitives.padding.PKCS7
    - s.encode
    - cryptography.hazmat.primitives.ciphers.Cipher.decryptor
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.padding.PKCS7.unpadder
    - <builtin>.isinstance
    - decryptor.update
    - cryptography.hazmat.backends.default_backend
    - decryptor.finalize
    linkageType: pythonLinkage
    raised:
    - JWEError
    - 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: cryptography.hazmat.primitives.ciphers.Cipher.decrypt
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.ciphers.Cipher.decryptor
    functionSourceFile: cryptography
    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: decryptor.update
    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: decryptor.finalize
    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: cryptography.hazmat.primitives.padding.PKCS7.unpadder
    functionSourceFile: cryptography
    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: unpadder.update
    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: unpadder.finalize
    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
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 505
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.wrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.keywrap.aes_key_wrap
    - s.encode
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.keywrap.aes_key_wrap
    functionSourceFile: cryptography
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 510
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.unwrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - s.encode
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.keywrap.aes_key_unwrap
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.keywrap.aes_key_unwrap
    functionSourceFile: cryptography
    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: jose.backends.cryptography_backend.CryptographyHMACKey
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.hashes.SHA384
    - cryptography.hazmat.primitives.hashes.SHA512
    - cryptography.hazmat.primitives.hashes.SHA256
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA384
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.hashes.SHA512
    functionSourceFile: cryptography
    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
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 551
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - jose.utils.base64url_decode
    - jwk_dict.get
    - <builtin>.len
    - k.encode
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    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: 562
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 569
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - h.finalize
    - h.update
    - s.encode
    - cryptography.hazmat.primitives.hmac.HMAC
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hmac.HMAC
    functionSourceFile: cryptography
    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: h.update
    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: h.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 576
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - h.verify
    - h.update
    - s.encode
    - cryptography.hazmat.primitives.hmac.HMAC
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.backends.default_backend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.verify
    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: jose.backends.ecdsa_backend
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 76
    functionName: jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 15
    functionsReached:
    - jose.utils.int_arr_to_long
    - <builtin>.all
    - jwk_dict.get
    - <builtin>.int
    - jose.utils.base64_to_long
    - <builtin>.len
    - data.encode
    - ecdsa.ecdsa.point_is_valid
    - ecdsa.ellipticcurve.Point
    - base64.urlsafe_b64decode
    - ecdsa.keys.SigningKey.from_secret_exponent
    - struct.unpack
    - <builtin>.bytes
    - <builtin>.isinstance
    - ecdsa.keys.VerifyingKey.from_public_point
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.VerifyingKey.from_pem
    functionSourceFile: ecdsa
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.SigningKey.from_pem
    functionSourceFile: ecdsa
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.keys.SigningKey.from_secret_exponent
    functionSourceFile: ecdsa
    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: ecdsa.ecdsa.point_is_valid
    functionSourceFile: ecdsa
    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: ecdsa.ellipticcurve.Point
    functionSourceFile: ecdsa
    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: ecdsa.keys.VerifyingKey.from_public_point
    functionSourceFile: ecdsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.sign
    functionSourceFile: jose.backends.ecdsa_backend
    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
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.verify
    functionSourceFile: jose.backends.ecdsa_backend
    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: 111
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.is_public
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.public_key
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jose.backends.ecdsa_backend.ECDSAECKey.is_public
    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: 119
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.to_pem
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 122
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.to_dict
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached:
    - jose.utils.long_to_base64
    - cryptography.utils.int_to_bytes
    - base64.urlsafe_b64encode
    - ecdsa.ecdsa.int_to_string
    - jose.utils.long_to_bytes
    - public_key.pubkey.point.x
    - public_key.pubkey.point.y
    - <builtin>.len
    - jose.backends.ecdsa_backend.ECDSAECKey.is_public
    - <builtin>.isinstance
    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: public_key.pubkey.point.x
    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: public_key.pubkey.point.y
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jose.backends.rsa_backend
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - ALGORITHMS.SUPPORTED.remove
    - binascii.unhexlify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ALGORITHMS.SUPPORTED.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.unhexlify
    functionSourceFile: binascii
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - a
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: jose.backends.rsa_backend._gcd
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - n
    - e
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jose.backends.rsa_backend._rsa_recover_prime_factors
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 17
    functionsReached:
    - <builtin>.sorted
    - <builtin>.divmod
    - <builtin>.pow
    - jose.backends.rsa_backend._gcd
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.pow
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.divmod
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c499a2e0>
    argNames:
    - pem
    - fmt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 98
    functionName: jose.backends.rsa_backend.pem_to_spki
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    - rsa.pem.save_pem
    - data.encode
    - rsa.PrivateKey
    - jose.backends.rsa_backend.RSAKey.to_pem
    - jose.utils.int_arr_to_long
    - <builtin>.all
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - rsa.pem.load_pem
    - <builtin>.len
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.univ.BitString.fromOctetString
    - <builtin>.pow
    - rsa.PrivateKey.load_pkcs1
    - pkcs8_key.startswith
    - jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    - <builtin>.divmod
    - jose.backends.rsa_backend._gcd
    - rsa.PublicKey
    - <builtin>.int
    - pyasn1.codec.der.decoder.decode
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.bytes
    - <builtin>.sorted
    - <builtin>.any
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - <builtin>.isinstance
    - pyasn1.codec.der.encoder.encode
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - rsa.PublicKey.load_pkcs1
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c50d3040>
    argNames:
    - self
    - pem_format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: jose.backends.rsa_backend.RSAKey.to_pem
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 1
    functionsReached:
    - jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    - jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    - rsa.pem.save_pem
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.univ.BitString.fromOctetString
    - <builtin>.isinstance
    - pyasn1.codec.der.encoder.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 16
    functionsReached:
    - <builtin>.len
    - pkcs8_key.startswith
    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: pkcs8_key.startswith
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 175
    functionName: jose.backends.rsa_backend.RSAKey._process_jwk
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 16
    functionsReached:
    - data.encode
    - rsa.PrivateKey
    - jose.utils.int_arr_to_long
    - <builtin>.all
    - <builtin>.len
    - <builtin>.pow
    - <builtin>.divmod
    - jose.backends.rsa_backend._gcd
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - <builtin>.sorted
    - <builtin>.any
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - <builtin>.isinstance
    - jwk_dict.get
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - struct.unpack
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PublicKey.load_pkcs1
    functionSourceFile: rsa
    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: rsa.PublicKey.load_pkcs1_openssl_pem
    functionSourceFile: rsa
    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: rsa.PrivateKey.load_pkcs1
    functionSourceFile: rsa
    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: rsa.pem.load_pem
    functionSourceFile: rsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends._asn1
    functionUses: 16
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.decoder.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: rsa.PublicKey
    functionSourceFile: rsa
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PrivateKey
    functionSourceFile: rsa
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jose.backends.rsa_backend.RSAKey.sign
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.sign
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 206
    functionName: jose.backends.rsa_backend.RSAKey.verify
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.verify
    - warnings.warn
    - jose.backends.rsa_backend.RSAKey.is_public
    - <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: 1
    functionLinenumber: 215
    functionName: jose.backends.rsa_backend.RSAKey.is_public
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.verify
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jose.backends.rsa_backend.RSAKey.public_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - rsa.PublicKey
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs1_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    functionSourceFile: jose.backends._asn1
    functionUses: 2
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.encoder.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.pem.save_pem
    functionSourceFile: rsa
    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:
    - pkcs1_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    functionSourceFile: jose.backends._asn1
    functionUses: 2
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.encoder.encode
    - pyasn1.type.univ.BitString.fromOctetString
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 245
    functionName: jose.backends.rsa_backend.RSAKey.to_dict
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - jose.utils.long_to_base64
    - cryptography.utils.int_to_bytes
    - base64.urlsafe_b64encode
    - ecdsa.ecdsa.int_to_string
    - jose.backends.rsa_backend.RSAKey.public_key
    - jose.utils.long_to_bytes
    - rsa.PublicKey
    - <builtin>.len
    - jose.backends.rsa_backend.RSAKey.is_public
    - data.update
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: jose.backends.rsa_backend.RSAKey.wrap_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    - jose.backends.rsa_backend.RSAKey.is_public
    - rsa.encrypt
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.encrypt
    functionSourceFile: rsa
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jose.backends.rsa_backend.RSAKey.unwrap_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.decrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.decrypt
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.backends._asn1
    functionSourceFile: jose.backends._asn1
    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: pyasn1.type.univ.ObjectIdentifier
    functionSourceFile: pyasn1
    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: jose.backends._asn1.RsaAlgorithmIdentifier
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.namedtype.NamedType
    - pyasn1.type.namedtype.NamedTypes
    - pyasn1.type.univ.Null
    - pyasn1.type.univ.ObjectIdentifier
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.namedtype.NamedType
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.Null
    functionSourceFile: pyasn1
    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: pyasn1.type.namedtype.NamedTypes
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.Integer
    functionSourceFile: pyasn1
    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: jose.backends._asn1.PKCS8PrivateKey
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.namedtype.NamedType
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.namedtype.NamedTypes
    - pyasn1.type.univ.OctetString
    - pyasn1.type.univ.Integer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.univ.Sequence.__init__
    functionSourceFile: ''
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.univ.OctetString
    functionSourceFile: pyasn1
    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: jose.backends._asn1.PublicKeyInfo
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.namedtype.NamedType
    - pyasn1.type.namedtype.NamedTypes
    - pyasn1.type.univ.BitString
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.univ.BitString
    functionSourceFile: pyasn1
    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: pyasn1.codec.der.decoder.decode
    functionSourceFile: pyasn1
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.codec.der.encoder.encode
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.BitString.fromOctetString
    functionSourceFile: pyasn1
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jose.backends._asn1.rsa_public_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.decoder.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: jose
    functionSourceFile: jose
    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: jose.jws
    functionSourceFile: jose.jws
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4acb4f0>
    - <ast.Attribute object at 0x7fc9c4acb790>
    argNames:
    - payload
    - key
    - headers
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 16
    functionName: jose.jws.sign
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - encoded_string.decode
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - jose.jws._encode_payload
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - key.sign
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.sorted
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - rsa.PublicKey.load_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - header.update
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - json.dumps
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - base64.urlsafe_b64encode
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - jose.jws._encode_header
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.utils.base64url_encode
    - jose.jws._sign_header_and_claims
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c49b3640>
    argNames:
    - algorithm
    - additional_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: jose.jws._encode_header
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - base64.urlsafe_b64encode
    - json.dumps
    - jose.utils.base64url_encode
    - header.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - payload
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: jose.jws._encode_payload
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - base64.urlsafe_b64encode
    - json.dumps
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - encoded_header
    - encoded_claims
    - algorithm
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 160
    functionName: jose.jws._sign_header_and_claims
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - encoded_string.decode
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - key.sign
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - <builtin>.sorted
    - ecdsa.VerifyingKey.from_pem
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - base64.urlsafe_b64encode
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a03bb0>
    argNames:
    - token
    - key
    - algorithms
    - verify
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 52
    functionName: jose.jws.verify
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jwt.rsplit
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - header.get
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - key.values
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jwt.encode
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - jose.jws._verify_signature
    - key.verify
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - signing_input.split
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - header_data.decode
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jws._load
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - jose.jws._sig_matches_keys
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.jws._get_keys
    - jose.utils.is_ssh_key
    - json.loads
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: jose.jws._load
    functionSourceFile: jose.jws
    functionUses: 8
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jwt.encode
    - <builtin>.len
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c52cadf0>
    - <ast.Constant object at 0x7fc9c52cac40>
    argNames:
    - signing_input
    - header
    - signature
    - key
    - algorithms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 253
    functionName: jose.jws._verify_signature
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - header.get
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - key.values
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - key.verify
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - jose.jws._sig_matches_keys
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.jws._get_keys
    - jose.utils.is_ssh_key
    - json.loads
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    linkageType: pythonLinkage
    raised:
    - JWSError
    - JWSSignatureError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 82
    functionName: jose.jws.get_unverified_header
    functionSourceFile: jose.jws
    functionUses: 4
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 98
    functionName: jose.jws.get_unverified_headers
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - jose.jws.get_unverified_header
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 116
    functionName: jose.jws.get_unverified_claims
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.update
    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: key.sign
    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: encoded_string.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: jwt.encode
    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: jwt.rsplit
    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: signing_input.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: header_data.decode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - keys
    - signing_input
    - signature
    - alg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 209
    functionName: jose.jws._sig_matches_keys
    functionSourceFile: jose.jws
    functionUses: 3
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - <builtin>.sorted
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - struct.unpack
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - key.verify
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jwk_dict.get
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.utils.is_ssh_key
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.verify
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: jose.jws._get_keys
    functionSourceFile: jose.jws
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - key.values
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.values
    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: jose.jwt
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Attribute object at 0x7fc9c4aacdc0>
    - <ast.Constant object at 0x7fc9c4aac910>
    - <ast.Constant object at 0x7fc9c4aace80>
    argNames:
    - claims
    - key
    - algorithm
    - headers
    - access_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 24
    functionName: jose.jwt.encode
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - <builtin>.any
    - <builtin>.hasattr
    - encoded_string.decode
    - jose.utils.is_pem_format
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - jose.jws._encode_payload
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - key.sign
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.sorted
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - rsa.PublicKey.load_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - jose.utils.base64_to_long
    - ecdsa.ecdsa.point_is_valid
    - base64.urlsafe_b64decode
    - calendar.timegm
    - struct.unpack
    - at_hash.decode
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - access_token.encode
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - header.update
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jwk.get_key
    - cryptography.x509.load_pem_x509_certificate
    - jose.utils.calculate_at_hash
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - json.dumps
    - data.encode
    - rsa.PrivateKey
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - base64.urlsafe_b64encode
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.jws.sign
    - jose.utils.is_ssh_key
    - claims.get
    - ssh_pubkey_match.group
    - rsa.PublicKey
    - <builtin>.int
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - jose.jws._encode_header
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.utils.base64url_encode
    - jose.jws._sign_header_and_claims
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: claims.get
    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: calendar.timegm
    functionSourceFile: calendar
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c5103580>
    - <ast.Constant object at 0x7fc9c5103a00>
    - <ast.Constant object at 0x7fc9c51031f0>
    - <ast.Constant object at 0x7fc9c51039a0>
    - <ast.Constant object at 0x7fc9c51038b0>
    - <ast.Constant object at 0x7fc9c5103040>
    argNames:
    - token
    - key
    - algorithms
    - options
    - audience
    - issuer
    - subject
    - access_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 66
    functionName: jose.jwt.decode
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - key.startswith
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - defaults.get
    - jose.jwt._validate_jti
    - datetime.datetime.now
    - jose.backends.native.HMACKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jwt.rsplit
    - pkcs8_key.startswith
    - jose.jwk.construct
    - jose.backends.rsa_backend._gcd
    - options.get
    - <builtin>.any
    - <builtin>.hasattr
    - jose.jws.verify
    - jose.jwt._validate_at_hash
    - <builtin>.type
    - header.get
    - jose.utils.is_pem_format
    - jose.jwt._validate_sub
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - defaults.update
    - jose.jwt._validate_nbf
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - key.values
    - <builtin>.all
    - jose.jwt._validate_iss
    - pyasn1.type.univ.Sequence.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - rsa.PrivateKey.load_pkcs1
    - <builtin>.divmod
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - ecdsa.VerifyingKey.from_pem
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - <builtin>.sorted
    - key_data.get
    - _SSH_PUBKEY_RC.match
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - key.encode
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - ecdsa.SigningKey.from_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - rsa.PublicKey.load_pkcs1
    - jwt.encode
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - jose.jws.get_unverified_header
    - calendar.timegm
    - ecdsa.ecdsa.point_is_valid
    - struct.unpack
    - at_hash.decode
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - jose.jws._verify_signature
    - key.verify
    - access_token.encode
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jose.backends.base.DIRKey.__init__
    - private.private_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - jose.utils.int_arr_to_long
    - <builtin>.bool
    - jose.jwt._validate_claims
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - _PEM_RE.search
    - signing_input.split
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - header_data.decode
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jwk_dict.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - jose.backends.rsa_backend.RSAKey.__init__
    - ALGORITHMS.SUPPORTED.union
    - k.encode
    - jose.jws._load
    - jose.jwk.get_key
    - jose.utils.calculate_at_hash
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - e.startswith
    - payload.decode
    - data.encode
    - rsa.PrivateKey
    - jose.jwt._validate_aud
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - jose.jwt._validate_exp
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.base64url_decode
    - public.public_key
    - base64.urlsafe_b64encode
    - jose.jws._sig_matches_keys
    - rsa.pem.load_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - jose.jws._get_keys
    - jose.utils.is_ssh_key
    - claims.get
    - json.loads
    - ssh_pubkey_match.group
    - <builtin>.int
    - rsa.PublicKey
    - options.keys
    - <builtin>.bytes
    - ecdsa.ellipticcurve.Point
    - ecdsa.keys.SigningKey.from_secret_exponent
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - jose.utils.timedelta_total_seconds
    - jose.backends.native.HMACKey.__init__
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.jwt._validate_iat
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: defaults.update
    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: defaults.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 8
    IfCount: 11
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a87190>
    - <ast.Constant object at 0x7fc9c4a87d00>
    - <ast.Constant object at 0x7fc9c4a87460>
    - <ast.Constant object at 0x7fc9c4a87c70>
    - <ast.Constant object at 0x7fc9c4a870d0>
    - <ast.Constant object at 0x7fc9c4a87eb0>
    argNames:
    - claims
    - audience
    - issuer
    - subject
    - algorithm
    - access_token
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 475
    functionName: jose.jwt._validate_claims
    functionSourceFile: jose.jwt
    functionUses: 1
    functionsReached:
    - jose.jwt._validate_sub
    - e.startswith
    - access_token.encode
    - jose.jwt._validate_jti
    - datetime.datetime.now
    - jose.jwt._validate_nbf
    - jose.jwt._validate_aud
    - jose.jwt._validate_exp
    - base64.urlsafe_b64encode
    - jose.jwt._validate_iss
    - <builtin>.len
    - claims.get
    - <builtin>.int
    - options.keys
    - options.get
    - <builtin>.any
    - <builtin>.isinstance
    - jose.utils.timedelta_total_seconds
    - jose.jwt._validate_at_hash
    - <builtin>.type
    - jose.jwt._validate_iat
    - jose.utils.calculate_at_hash
    - calendar.timegm
    - jose.utils.base64url_encode
    - at_hash.decode
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 187
    functionName: jose.jwt.get_unverified_header
    functionSourceFile: jose.jwt
    functionUses: 1
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jose.jws.get_unverified_headers
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - jose.jws.get_unverified_header
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 207
    functionName: jose.jwt.get_unverified_headers
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jose.jws.get_unverified_headers
    - jose.jwt.get_unverified_header
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - jose.jws.get_unverified_header
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 225
    functionName: jose.jwt.get_unverified_claims
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - jose.utils.base64url_decode
    - header_data.decode
    - jose.jws.get_unverified_claims
    - jwt.encode
    - <builtin>.len
    - jose.jws._load
    - base64.urlsafe_b64decode
    - claims.decode
    - <builtin>.isinstance
    - jwt.rsplit
    - signing_input.split
    - json.loads
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: claims.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - claims
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: jose.jwt._validate_iat
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a9f6d0>
    argNames:
    - claims
    - leeway
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 274
    functionName: jose.jwt._validate_nbf
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - calendar.timegm
    - <builtin>.int
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4a9fa90>
    argNames:
    - claims
    - leeway
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: jose.jwt._validate_exp
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - calendar.timegm
    - <builtin>.int
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised:
    - ExpiredSignatureError
    - JWTClaimsError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c5131940>
    argNames:
    - claims
    - audience
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 334
    functionName: jose.jwt._validate_aud
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4acc430>
    argNames:
    - claims
    - issuer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 370
    functionName: jose.jwt._validate_iss
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - claims.get
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc9c4acc400>
    argNames:
    - claims
    - subject
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 391
    functionName: jose.jwt._validate_sub
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - claims.get
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - claims
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 418
    functionName: jose.jwt._validate_jti
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - claims
    - access_token
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 440
    functionName: jose.jwt._validate_at_hash
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - base64.urlsafe_b64encode
    - access_token.encode
    - <builtin>.int
    - <builtin>.len
    - jose.utils.calculate_at_hash
    - jose.utils.base64url_encode
    - at_hash.decode
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.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: options.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: e.startswith
    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>.type
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_jwe':
  - 40
  - 41
  '...fuzz_jwe.TestOneInput':
  - 26
  - 27
  - 29
  '...fuzz_jwe.main':
  - 35
  - 36
  - 37
  jose.backends._asn1:
  - 1
  jose.backends._asn1.PKCS8PrivateKey:
  - 21
  - 23
  - 24
  - 25
  - 26
  jose.backends._asn1.PublicKeyInfo:
  - 33
  - 34
  - 31
  jose.backends._asn1.RsaAlgorithmIdentifier:
  - 16
  - 13
  - 15
  jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8:
  - 51
  - 52
  - 60
  - 55
  jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1:
  - 40
  - 39
  jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8:
  - 64
  - 65
  - 68
  - 70
  - 72
  jose.backends._asn1.rsa_public_key_pkcs8_to_pkcs1:
  - 76
  - 77
  - 84
  jose.backends.base.DIRKey.__init__:
  - 81
  jose.backends.base.DIRKey.to_dict:
  - 88
  jose.backends.base.Key:
  - 5
  jose.backends.base.Key.decrypt:
  - 41
  jose.backends.base.Key.encrypt:
  - 28
  jose.backends.base.Key.unwrap_key:
  - 67
  jose.backends.base.Key.wrap_key:
  - 55
  jose.backends.cryptography_backend.CryptographyAESKey.__init__:
  - 430
  - 432
  - 436
  - 438
  - 440
  - 442
  - 444
  - 446
  jose.backends.cryptography_backend.CryptographyAESKey.decrypt:
  - 481
  - 482
  - 483
  - 484
  - 486
  - 489
  - 493
  - 494
  - 495
  - 496
  - 497
  - 498
  - 499
  - 479
  jose.backends.cryptography_backend.CryptographyAESKey.encrypt:
  - 456
  - 458
  - 459
  - 460
  - 461
  - 462
  - 463
  - 464
  - 467
  - 468
  - 469
  - 470
  - 471
  - 472
  jose.backends.cryptography_backend.CryptographyAESKey.to_dict:
  - 452
  jose.backends.cryptography_backend.CryptographyAESKey.unwrap_key:
  - 513
  - 511
  jose.backends.cryptography_backend.CryptographyAESKey.wrap_key:
  - 506
  - 507
  jose.backends.cryptography_backend.CryptographyECKey.__init__:
  - 64
  - 66
  - 39
  - 72
  - 42
  - 74
  - 51
  - 55
  - 57
  - 59
  - 60
  - 63
  jose.backends.cryptography_backend.CryptographyECKey._der_to_raw:
  - 116
  - 117
  - 118
  - 119
  jose.backends.cryptography_backend.CryptographyECKey._process_jwk:
  - 98
  - 100
  - 101
  - 102
  - 104
  - 106
  - 84
  - 87
  - 90
  - 91
  jose.backends.cryptography_backend.CryptographyECKey._raw_to_der:
  - 129
  - 130
  - 131
  - 122
  - 123
  - 124
  jose.backends.cryptography_backend.CryptographyECKey._sig_component_length:
  - 113
  - 109
  jose.backends.cryptography_backend.CryptographyECKey.is_public:
  - 151
  jose.backends.cryptography_backend.CryptographyECKey.public_key:
  - 154
  - 156
  jose.backends.cryptography_backend.CryptographyECKey.sign:
  - 139
  - 140
  - 134
  jose.backends.cryptography_backend.CryptographyECKey.to_dict:
  - 192
  - 193
  - 196
  - 197
  - 198
  - 172
  - 173
  jose.backends.cryptography_backend.CryptographyECKey.to_pem:
  - 160
  - 167
  - 164
  - 159
  jose.backends.cryptography_backend.CryptographyECKey.verify:
  - 144
  - 145
  jose.backends.cryptography_backend.CryptographyHMACKey:
  - 520
  - 525
  jose.backends.cryptography_backend.CryptographyHMACKey.__init__:
  - 528
  - 531
  - 533
  - 534
  - 537
  - 540
  - 541
  - 543
  jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk:
  - 552
  - 555
  - 556
  - 557
  - 558
  jose.backends.cryptography_backend.CryptographyHMACKey.sign:
  - 570
  - 571
  - 572
  - 573
  jose.backends.cryptography_backend.CryptographyHMACKey.to_dict:
  - 566
  jose.backends.cryptography_backend.CryptographyHMACKey.verify:
  - 577
  - 578
  - 579
  - 580
  - 582
  jose.backends.cryptography_backend.CryptographyRSAKey:
  - 208
  - 209
  - 210
  jose.backends.cryptography_backend.CryptographyRSAKey.__init__:
  - 232
  - 236
  - 237
  - 240
  - 241
  - 243
  - 213
  - 245
  - 246
  - 216
  - 250
  - 252
  - 223
  jose.backends.cryptography_backend.CryptographyRSAKey._process_cert:
  - 301
  - 302
  jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk:
  - 260
  - 263
  - 264
  - 265
  - 267
  - 268
  - 271
  - 275
  - 277
  - 283
  - 284
  - 285
  - 286
  - 287
  - 291
  - 292
  - 293
  - 294
  - 296
  - 298
  jose.backends.cryptography_backend.CryptographyRSAKey.is_public:
  - 322
  jose.backends.cryptography_backend.CryptographyRSAKey.public_key:
  - 325
  - 327
  jose.backends.cryptography_backend.CryptographyRSAKey.sign:
  - 306
  jose.backends.cryptography_backend.CryptographyRSAKey.to_dict:
  - 352
  - 353
  - 360
  - 361
  - 364
  - 365
  jose.backends.cryptography_backend.CryptographyRSAKey.to_pem:
  - 330
  - 331
  - 333
  - 337
  - 340
  - 342
  - 347
  - 348
  jose.backends.cryptography_backend.CryptographyRSAKey.unwrap_key:
  - 388
  jose.backends.cryptography_backend.CryptographyRSAKey.verify:
  - 312
  - 313
  - 316
  jose.backends.cryptography_backend.CryptographyRSAKey.wrap_key:
  - 380
  jose.backends.ecdsa_backend.ECDSAECKey:
  - 12
  jose.backends.ecdsa_backend.ECDSAECKey.__init__:
  - 65
  - 67
  - 37
  - 40
  - 47
  - 49
  - 53
  - 54
  - 57
  - 58
  - 60
  jose.backends.ecdsa_backend.ECDSAECKey._process_jwk:
  - 96
  - 77
  - 80
  - 83
  - 86
  - 87
  - 89
  - 90
  - 92
  - 95
  jose.backends.ecdsa_backend.ECDSAECKey.is_public:
  - 112
  jose.backends.ecdsa_backend.ECDSAECKey.public_key:
  - 115
  - 117
  jose.backends.ecdsa_backend.ECDSAECKey.sign:
  - 99
  jose.backends.ecdsa_backend.ECDSAECKey.to_dict:
  - 128
  - 129
  - 131
  - 143
  - 144
  - 147
  - 148
  - 123
  - 124
  jose.backends.ecdsa_backend.ECDSAECKey.to_pem:
  - 120
  jose.backends.ecdsa_backend.ECDSAECKey.verify:
  - 105
  jose.backends.native.HMACKey:
  - 16
  jose.backends.native.HMACKey.__init__:
  - 33
  - 36
  - 37
  - 39
  - 24
  - 27
  - 29
  - 30
  jose.backends.native.HMACKey._process_jwk:
  - 48
  - 51
  - 52
  - 53
  - 54
  jose.backends.native.HMACKey.sign:
  - 59
  jose.backends.native.HMACKey.to_dict:
  - 68
  jose.backends.native.HMACKey.verify:
  - 62
  jose.backends.native.get_random_bytes:
  - 12
  jose.backends.rsa_backend:
  - 19
  - 21
  - 30
  jose.backends.rsa_backend.RSAKey.__init__:
  - 129
  - 161
  - 163
  - 132
  - 158
  - 168
  - 169
  - 139
  - 140
  - 143
  - 147
  - 148
  - 150
  - 152
  - 155
  - 126
  jose.backends.rsa_backend.RSAKey._process_jwk:
  - 196
  - 197
  - 198
  - 200
  - 201
  - 176
  - 179
  - 180
  - 182
  - 183
  - 185
  - 188
  - 190
  jose.backends.rsa_backend.RSAKey.is_public:
  - 216
  jose.backends.rsa_backend.RSAKey.public_key:
  - 219
  - 221
  jose.backends.rsa_backend.RSAKey.sign:
  - 204
  jose.backends.rsa_backend.RSAKey.to_dict:
  - 258
  - 259
  - 246
  - 247
  - 254
  - 255
  jose.backends.rsa_backend.RSAKey.to_pem:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  jose.backends.rsa_backend.RSAKey.unwrap_key:
  - 280
  jose.backends.rsa_backend.RSAKey.verify:
  - 208
  - 210
  - 207
  jose.backends.rsa_backend.RSAKey.wrap_key:
  - 273
  - 274
  - 275
  jose.backends.rsa_backend._gcd:
  - 39
  jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1:
  - 104
  - 114
  - 117
  jose.backends.rsa_backend._rsa_recover_prime_factors:
  - 78
  - 80
  - 83
  - 56
  - 89
  - 92
  - 94
  jose.backends.rsa_backend.pem_to_spki:
  - 99
  - 100
  jose.constants:
  - 89
  - 98
  jose.constants.Algorithms:
  - 64
  - 70
  - 72
  - 55
  - 58
  - 61
  jose.exceptions.JWEAlgorithmUnsupportedError:
  - 55
  jose.exceptions.JWEError:
  - 34
  jose.exceptions.JWEInvalidAuth:
  - 46
  jose.exceptions.JWEParseError:
  - 40
  jose.jwe._auth_tag:
  - 585
  - 570
  - 583
  jose.jwe._big_endian:
  - 366
  jose.jwe._compress:
  - 423
  - 433
  - 435
  - 437
  - 438
  jose.jwe._decompress:
  - 455
  - 457
  - 459
  - 462
  - 463
  - 464
  - 445
  jose.jwe._decrypt_and_auth:
  - 237
  - 238
  - 239
  - 240
  - 241
  - 246
  - 247
  - 216
  jose.jwe._encoded_header:
  - 353
  - 355
  - 357
  - 362
  - 338
  - 351
  jose.jwe._encrypt_and_auth:
  - 389
  - 393
  - 394
  - 395
  - 396
  - 397
  - 398
  - 399
  - 370
  jose.jwe._get_cek:
  - 472
  - 483
  - 484
  - 486
  jose.jwe._get_direct_key_wrap_cek:
  - 505
  - 492
  - 502
  - 503
  jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek:
  - 256
  - 258
  - 259
  - 254
  jose.jwe._get_hmac_key:
  - 417
  - 418
  - 407
  jose.jwe._get_key_bytes_from_key:
  - 513
  - 523
  - 521
  jose.jwe._get_key_wrap_cek:
  - 528
  - 538
  - 539
  jose.jwe._get_random_cek_bytes_for_enc:
  - 544
  - 553
  - 555
  - 557
  - 559
  - 561
  - 565
  jose.jwe._jwe_compact_deserialize:
  - 320
  - 325
  - 264
  - 330
  - 315
  - 307
  - 278
  - 311
  - 280
  - 283
  jose.jwe._jwe_compact_serialize:
  - 608
  - 591
  - 604
  - 605
  - 606
  - 607
  jose.jwe.decrypt:
  - 159
  - 193
  - 194
  - 99
  - 101
  - 138
  - 108
  - 141
  - 83
  - 86
  - 185
  - 61
  - 127
  jose.jwe.encrypt:
  - 45
  - 46
  - 15
  - 48
  - 50
  - 51
  - 53
  - 54
  - 56
  jose.jwe.get_unverified_header:
  - 200
  - 211
  jose.jwk.construct:
  - 64
  - 70
  - 71
  - 73
  - 76
  - 77
  - 79
  jose.jwk.get_key:
  - 32
  - 34
  - 36
  - 40
  - 44
  - 48
  jose.jwk.register_key:
  - 56
  - 59
  jose.jws._encode_header:
  - 136
  - 138
  - 144
  - 135
  jose.jws._encode_payload:
  - 148
  - 157
  - 150
  jose.jws._get_keys:
  - 226
  - 230
  - 231
  - 234
  - 239
  - 240
  - 245
  - 222
  jose.jws._load:
  - 193
  - 197
  - 202
  - 177
  - 178
  - 180
  - 181
  - 182
  - 189
  jose.jws._sig_matches_keys:
  - 210
  - 211
  - 212
  - 214
  jose.jws._sign_header_and_claims:
  - 161
  - 163
  - 164
  - 165
  - 169
  - 171
  - 173
  jose.jws._verify_signature:
  - 258
  - 261
  - 263
  - 254
  - 255
  jose.jws.get_unverified_claims:
  - 128
  - 117
  jose.jws.get_unverified_header:
  - 83
  - 94
  jose.jws.get_unverified_headers:
  - 113
  - 99
  jose.jws.sign:
  - 42
  - 45
  - 46
  - 47
  - 17
  jose.jws.verify:
  - 74
  - 77
  - 76
  - 53
  jose.jwt._validate_at_hash:
  - 458
  - 461
  - 466
  - 471
  - 441
  jose.jwt._validate_aud:
  - 354
  - 360
  - 362
  - 364
  - 366
  - 335
  jose.jwt._validate_claims:
  - 512
  - 476
  - 478
  - 479
  - 480
  - 481
  - 482
  - 487
  - 490
  - 491
  - 493
  - 494
  - 496
  - 497
  - 499
  - 500
  - 502
  - 503
  - 505
  - 506
  - 508
  - 509
  - 511
  jose.jwt._validate_exp:
  - 320
  - 324
  - 328
  - 330
  - 305
  jose.jwt._validate_iat:
  - 265
  - 269
  - 254
  jose.jwt._validate_iss:
  - 384
  - 385
  - 371
  - 387
  jose.jwt._validate_jti:
  - 433
  - 419
  - 436
  jose.jwt._validate_nbf:
  - 290
  - 294
  - 298
  - 300
  - 275
  jose.jwt._validate_sub:
  - 392
  - 407
  - 410
  - 413
  - 414
  jose.jwt.decode:
  - 67
  - 164
  - 167
  - 171
  - 174
  - 153
  - 154
  - 156
  - 159
  jose.jwt.encode:
  - 63
  - 55
  - 25
  - 58
  - 60
  - 61
  - 57
  jose.jwt.get_unverified_claims:
  - 226
  - 243
  - 238
  - 247
  jose.jwt.get_unverified_header:
  - 200
  - 188
  jose.jwt.get_unverified_headers:
  - 208
  - 222
  jose.utils:
  - 146
  - 133
  - 134
  jose.utils.base64_to_long:
  - 40
  - 35
  - 36
  - 39
  jose.utils.base64url_decode:
  - 73
  - 75
  - 67
  - 78
  jose.utils.base64url_encode:
  - 88
  - 82
  jose.utils.calculate_at_hash:
  - 44
  - 59
  - 60
  - 62
  - 63
  jose.utils.ensure_binary:
  - 104
  - 106
  - 107
  - 102
  jose.utils.int_arr_to_long:
  - 31
  jose.utils.is_pem_format:
  - 139
  jose.utils.is_ssh_key:
  - 160
  - 161
  - 162
  - 163
  - 158
  jose.utils.long_to_base64:
  - 27
  jose.utils.long_to_bytes:
  - 11
  - 17
  - 18
  - 21
  - 22
  jose.utils.timedelta_total_seconds:
  - 92
Fuzzer filename: /src/fuzz_jwe.py
Inheritance:
  jose.backends._asn1.PKCS8PrivateKey: []
  jose.backends._asn1.PublicKeyInfo: []
  jose.backends._asn1.RsaAlgorithmIdentifier: []
  jose.backends.base.DIRKey:
  - Key
  jose.backends.base.Key: []
  jose.backends.cryptography_backend.CryptographyAESKey:
  - Key
  jose.backends.cryptography_backend.CryptographyECKey:
  - Key
  jose.backends.cryptography_backend.CryptographyHMACKey:
  - Key
  jose.backends.cryptography_backend.CryptographyRSAKey:
  - Key
  jose.backends.ecdsa_backend.ECDSAECKey:
  - Key
  jose.backends.native.HMACKey:
  - Key
  jose.backends.rsa_backend.RSAKey:
  - Key
  jose.constants.Algorithms: []
  jose.constants.Zips: []
  jose.exceptions.ExpiredSignatureError:
  - JWTError
  jose.exceptions.JOSEError:
  - Exception
  jose.exceptions.JWEAlgorithmUnsupportedError:
  - JWEError
  jose.exceptions.JWEError:
  - JOSEError
  jose.exceptions.JWEInvalidAuth:
  - JWEError
  jose.exceptions.JWEParseError:
  - JWEError
  jose.exceptions.JWKError:
  - JOSEError
  jose.exceptions.JWSAlgorithmError:
  - JWSError
  jose.exceptions.JWSError:
  - JOSEError
  jose.exceptions.JWSSignatureError:
  - JWSError
  jose.exceptions.JWTClaimsError:
  - JWTError
  jose.exceptions.JWTError:
  - JOSEError
ep:
  func_name: TestOneInput
  module: '...fuzz_jwe'
